EXCESS RELEASE OF FONT

EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 4:09 pm

En un log del programa aparece esto :

19-01-2015 17:06:08: EXCESS RELEASE OF FONT Verdana[ hFont : 0] ( nCount : 0 )
<-TFONT:END(246) <-TCONTROL:DESTROY(2298) <-TGET:DESTROY(766) <-TWINDOW:HANDLEEVENT(0) <-TCONTROL:HANDLEEVENT(1733) <-TGET:HANDLEEVENT(575) <-_FWH(3464) <-SENDMESSAGE(0) <-(b)TWINDOW(573)
------------------------------------------------------------

con la ultima versión de fwh ( 15.01 ) . ¿ Es un problema de la clase Tcontrol ? . Gracias.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 4:14 pm

Manuel, como se ha comentado en el foro este tipo de asignaciones suelen producir esta situacion

local oFontDlg:=oFont
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 4:41 pm

Pues no tengo ninguna asignacion similar en el programa .
Ademas, por si sirve de guia para encontrar el problema , al principio del programa tengo un dialogo para pass que da el error nada mas cerrarlo . si quito al final de este dialogo el ofont:end() el error deja de salir en ese punto ...
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby karinha » Mon Jan 19, 2015 5:03 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 5:21 pm

mastintin wrote:Pues no tengo ninguna asignacion similar en el programa .
Ademas, por si sirve de guia para encontrar el problema , al principio del programa tengo un dialogo para pass que da el error nada mas cerrarlo . si quito al final de este dialogo el ofont:end() el error deja de salir en ese punto ...


Entonces debe ser el problema que comentas en tu primer post, voy a mirar a ver si encuentro algo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 6:21 pm

entonces supongamos este codigo ... como se codifica ahora ...
Supongamos un nuevo control...

oNuevo: new( ofontText, ofontTitulo )


IF oFontText == NIL
DEFINE FONT oFontText NAME "DEFAULT_GUI_FONT" SIZE 0,-12
ENDIF

IF oFontTitulo == NIL
DEFINE FONT oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16
ENDIF


::oFontTexto:= oFontTexto
::oFontTitulo:= oFontTitulo
......

Tenemos que tener en cuenta que si :
::oFontTexto:setfont(ofontTexto)
esto dará error ya que ::ofonttexto de momento no es nada y no tiene por tanto el methodo setfont()
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 7:06 pm

mastintin wrote:entonces supongamos este codigo ... como se codifica ahora ...
Supongamos un nuevo control...

oNuevo: new( ofontText, ofontTitulo )


IF oFontText == NIL
DEFINE FONT oFontText NAME "DEFAULT_GUI_FONT" SIZE 0,-12
ENDIF

IF oFontTitulo == NIL
DEFINE FONT oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16
ENDIF


::oFontTexto:= oFontTexto
::oFontTitulo:= oFontTitulo
......

Tenemos que tener en cuenta que si :
::oFontTexto:setfont(ofontTexto)
esto dará error ya que ::ofonttexto de momento no es nada y no tiene por tanto el methodo setfont()


No se si te he entendido, pero yo lo haria asi

Code: Select all  Expand view  RUN

// En el metodo New
.../...

     IF oFontText == NIL
       DEFINE FONT ::oFontText NAME "DEFAULT_GUI_FONT" SIZE 0,-12
    ENDIF

  IF oFontTitulo == NIL
       DEFINE FONT ::oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16
   ENDIF

.../...
 


Code: Select all  Expand view  RUN

// Si no es en el metodo New
.../...

     IF oFontText == NIL
       if !empty( ::oFontText )
           ::oFontText:End()
       endif
       DEFINE FONT ::oFontText NAME "DEFAULT_GUI_FONT" SIZE 0,-12
    ENDIF

  IF oFontTitulo == NIL
       if !empty( ::oFontTitulo )
           ::oFontTitulo:End()
       endif
       DEFINE FONT ::oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16
   ENDIF

.../...
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 7:41 pm

Bien Cristobal , pero y si se ha asignado un font en el new y oFontText != nil ?
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 8:08 pm

Manuel, mira a ver

Code: Select all  Expand view  RUN

// Si no es en el metodo New
.../...

     IF oFontText == NIL
       if !empty( ::oFontText )
           ::oFontText:End()
       endif
       DEFINE FONT ::oFontText NAME "DEFAULT_GUI_FONT" SIZE 0,-12
    ELSE
       if !empty( ::oFontText )
           ::oFontText:End()
       endif
      ::SetFont( oFontText )
    ENDIF

  IF oFontTitulo == NIL
       if !empty( ::oFontTitulo )
           ::oFontTitulo:End()
       endif
       DEFINE FONT ::oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16
    ELSE
       if !empty( ::oFontTitulo )
           ::oFontTitulo:End()
       endif
      ::oTitulo:SetFont( oFontTitulo )    // Suponemos que aqui hay otro objeto
   ENDIF

.../...
 
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 8:17 pm

si, asi si pero no del todo ...
en el new()

DEFINE FONT ::oFontTitulo NAME "DEFAULT_GUI_FONT" SIZE 0,-16 // lo iniciamos y luego
if ofonttitulo != nil
::ofonttitulo:setfont( ofonttitulo) // si viene pasado desde new lo asignamos .
endif


Ya encontré uno de los causantes ... datepicket en el methodo redefine , no esta completado como si lo está en el metodo new .... se tiene que hacer un fix de ello .
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 8:24 pm

En tu ejemplo eso es lo que no entiendo,
Como puede ser el objeto oFont, la data ::oFontTitulo, ya que este objeto no tiene ese metodo

Por otra parte, en este tema, llegamos al "tan traido y llevado" encapsulamiento, y no asignar valores directamente a las datas de los objetos que creamos, ni usarlas , sino que deben existir unos metodos SETGET de cada DATA al crear la CLASE para este fin y, en el caso de que las DATAs sean objetos, como es el caso, realice el :End() del objeto antes de realizar la nueva asignacion
Pero bueno, una cosa es "predicar y otra muy distinta, dar trigo" :D y todos buscamos la ley "del minimo esfuerzo", yo el primero, claro
Si me atrevo a escribir lo anterior hoy es porque en relacion a otro tema que no tiene nada que ver con este tema el compañero Felix me ha remitido a un BLog de Biel (que ya conocia) y en un articulo habla tambien de este tema
http://bielsys.blogspot.com.es/search?u ... -results=1
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 9:19 pm

Pues tienes razón , el objeto font no tiene setfont , pues tendré que repensarlo ... ¿ como lo hacemos ?. Lo que si es claro es que datepick tiene un problema :-)
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 9:20 pm

Dime en que linea y lo miro
Quiero decir, dime en qué tienes el problema :D :D :D
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby cnavarro » Mon Jan 19, 2015 9:31 pm

Manuel, tanto en el metodo New como en el Redefine se ha "comentado" la linea

Code: Select all  Expand view  RUN

//   ::oFont     = oFont
 


y se ha puesto en el metodo New

Code: Select all  Expand view  RUN

   ::SetFont( oFont )
 


Pero, ojo en el Metodo Redefine se ha comentado la linea pero no se ha asignado el font
Sin saber exactamente tu problema, quizas en ambos metodos, deberia ser:

Code: Select all  Expand view  RUN

if oFont = nil
   ::SetFont( oWnd:oFont )
else
  ::SetFont( oFont )
endif

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: EXCESS RELEASE OF FONT

Postby mastintin » Mon Jan 19, 2015 9:44 pm

Tambien e quitado la asigancion inicial en el new ... ofont := oWnd:ofont .
Sigue existiendo otro problema por algún lado ... con este código da error si descomento el ultimo get y sino no ...¿?

Code: Select all  Expand view  RUN

  DEFINE Font oFont    name "Verdana" size 0,-12
  DEFINE font oFontCor name "Verdana" size 0,-13 bold
  DEFINE Font oFont2   name "Verdana" size 0,-14

  DEFINE DIALOG oDlg RESOURCE "cab_cli" HELPID 2 FONT ofont

  REDEFINE BITMAP oBitmap1 ID 601 RESOURCE hVar["vcBmp"] OF  oDlg pixel NOBORDER TRANSPARENT

  REDEFINE GET hObj["vFACTURA"] VAR aVar[vFACTURA] ID 102 OF oDlg ;
           COLOR nRgb(0,0,0),nRgb(255,250,200);
           WHEN (Esalta) FONT oFontCor

      hObj["vFACTURA"]:lDiscolors:= EsAlta
 
  REDEFINE GET aObj[vCLIENTE] VAR aVar[vCLIENTE] ID IDCLIENTE OF oDlg PICTURE "999999";
     BITMAP "lupa5" ;
     ACTION .t. ;
     VALID  .t. ;
     FONT oFont2 ;
     UPDATE

  aObj[vCLIENTE]:bKeyDown := { |nKey | IIF( nKey == VK_F2,(aObj[vCLIENTE]:oBtn:click(), 0 ),) }

  REDEFINE GET aObj[vRAZ] VAR aVAr[vRAZ] ID IDRAZ OF oDlg PICTURE "@!" UPDATE

//  REDEFINE GET aObj[vNOMCLI] VAR aVAr[vNOMCLI] ID IDNOMCLI OF oDlg PICTURE "@!" FONT ofont2 UPDATE
 
   REDEFINE BUTTON ID 119 OF oDlg ACTION (Grabar:=.F., oDlg:End()) FONT ofont2

    ACTIVATE DIALOG oDlg CENTERED

 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 78 guests