FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Por qué el oDLG cambia de color?
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 03, 2025 08:26 PM
Master:

Es una ventana
Code (fw): Select all Collapse
STATIC FUNCTION LaBarra( oWindow )
   LOCAL oBarra
   LOCAL oCursor

   DEFINE CURSOR oCursor RESOURCE "Dedo"
   DEFINE BUTTONBAR oBarra SIZE 45, 45 OF oWindow CURSOR oCursor 2007

   oBarra:bClrGrad = { | lInvert | IF( ! lInvert, ;
                                       { { 0.50, nRGB( 178, 187, 202 ), nRGB( 137, 155, 179 ) }, ;
                                         { 0.50, nRGB( 129, 149, 174 ), nRGB( 114, 132, 156 ) } }, ;
                                       { { 0.50, nRGB( 139, 166, 193 ), nRGB(  69, 119, 170 ) }, ;
                                         { 0.50, nRGB(  52, 104, 152 ), nRGB(  50, 107, 162 ) } } ) }
   oBarra:nClrText = nRGB( 255, 255, 255 )
....
....
....
Code (fw): Select all Collapse
   ACTIVATE WINDOW oWindow MAXIMIZED ON INIT ( LaBarra( oWindow ), oWindow:Refresh( ) ) VALID Salir()
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 03, 2025 09:49 PM
En la función Salir() incluye oWindow:oBar:End()

a ver si asi queda solucionado :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 03, 2025 11:35 PM
Master:

No, no funca.
Code (fw): Select all Collapse
STATIC FUNCTION Salir( )
   IF MsgNoYes( "Seguro desea salir de la aplicación ?", oApp:cAplicacion) //  + " "  + oApp:cVersion)
      SET RESOURCES TO
      WinHelp( GetHelpFile( ), 2 )
      MEMORY( - 1 )
      oApp:oCon:Close( )
      oWindow:oBar:End()
      CheckRes()
      RETURN ( .T. )
   ELSE
      RETURN ( .F. )
   ENDIF
RETURN ( .F. )
Y la función ResAllFree() ya no existe.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Por qué el oDLG cambia de color?
Posted: Sat Jan 04, 2025 06:38 AM
Prueba asi:
Code (fw): Select all Collapse
STATIC FUNCTION Salir( )
   IF MsgNoYes( "Seguro desea salir de la aplicación ?", oApp:cAplicacion) //  + " "  + oApp:cVersion)
      SET RESOURCES TO
      WinHelp( GetHelpFile( ), 2 )
      MEMORY( - 1 )
      oApp:oCon:Close( )
      AEval( oWindow:oBar:aControls, { | oCtrl | oCtrl:End() } )
      CheckRes()
      RETURN ( .T. )
   ELSE
      RETURN ( .F. )
   ENDIF
RETURN ( .F. )
la función ResAllFree() era solo para 16 bits. En 32 bits ya no es necesaria pues Windows 32/64 libera todos los recursos.

function ResAllFree() ; return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 10, 2025 04:20 AM

Master:

Tampoco funcionó.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 10, 2025 07:22 AM

Intenta así:

AEval( oWindow:oBar:aControls, { | oCtrl | oCtrl:FreeBitmaps() } )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 10, 2025 02:08 PM
Armando,
STATIC FUNCTION Salir( )

   IF MsgNoYes( "Seguro desea salir de la aplicación ?", oApp:cAplicacion) //  + " "  + oApp:cVersion)

      // FONTES aqui:
      // RELEASE BRUSH oBrush
      // RELEASE FONT oFont

      DbCommitAll()
      DbUnLockAll()
      DbCloseAll()
      FreeResources()  // SET RESOURCES TO
      Release All
      SysRefresh()
      HB_GCALL( .T. ) // .T. -> Forca a limpeza de lixo(basuras).

      CLEAR MEMORY

      WinHelp( GetHelpFile(), 2 )

      // MEMORY( - 1 ) // ESTO NO FUNCIONA MAS

      oApp:oCon:Close( )  // ??

      oWindow:oBar:End()  // ???

      // oWnd:End()       // ??

      IF FILE( "checkres.txt" )
         FErase( "checkres.txt" )
      ENDIF

      CheckRes()

      PostQuitMessage( 0 )

      QUIT

      RETURN ( .T. )

   ELSE

      RETURN ( .F. )

   ENDIF

RETURN( .F. )
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Por qué el oDLG cambia de color?
Posted: Fri Jan 10, 2025 05:52 PM

Master Antonio y Karihna:

En ambos (ambos) casos la situación sigue igual, no hay de piña.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Por qué el oDLG cambia de color?
Posted: Mon Jan 13, 2025 02:13 PM

Armando, no te preocupes, no es nada que afecte tu programa/sistema. Solo preocúpate si comienza a desbordarse. Entonces, probablemente tendrás que cambiar tu forma de programar. Desafortunadamente, NUNCA puedes generar una DEMOSTRACIÓN para criticar tu escritura.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion