Antonio,
Probé el ejemplo como lo sugieres y por supuesto que funciona. Lamentablemente la aplicación que desarrollé es muchísimo más compleja.
Como dije tengo los dialogs en una DLL.
Desde una window principal, se llama por menú a un dialog, desde este se llama a otro dialog NOWAIT y, desde este último dialog NOWAIT se llama a otros dialogs NOWAIT. Todo esto rodeado de infinidad de botones, brushes, etc.. Lo que trato de plasmar es que es bastante complejo todo por la cantidad de controles de los dialogs.
Lo único que me dio resultado para cerrar los fonts de los DLGs, es ejecutar la función que sugeriste en uno de los post.
Voy a seguir buscando y, si encuentro la solución, comentaré al respecto. Igual me queda todavía encontrar porque no cierrar algunos BMP's.
Como curiosidad te comento que cambiando un poco el PRG que mandaste y asignandole el font de la manera que sugeriste:
- Code: Select all Expand view
oDlg:setfont(oFont)
No cierra el oFont, pero si lo hace cuando lo asigno de la manera que lo hacía antes:
- Code: Select all Expand view
oDlg:oFont:=oFnt
Si quieres puedes probarlo:
- Code: Select all Expand view
#include "FiveWin.ch"
function Main()
local oDlg, oFont
SetResDebug( .T. )
DEFINE FONT oFont NAME "Verdana" SIZE 0, -12
// DEFINE DIALOG oDlg FONT oFont
DEFINE DIALOG oDlg //FONT oFont
oDlg:setfont(oFont)
ACTIVATE DIALOG oDlg NOWAIT CENTERED
MsgInfo( "a non modal dialog" )
oDlg:End()
oFont:End()
CheckRes()
WinExec( "notepad checkres.txt" )
return nil
Gracias.
Rolando