EXCESS RELEASE OF FONT

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Dec 14, 2014 3:36 pm

Te copio el que me mandaste modificado. El problema ha surgido cuando he añadido el LISTBOX.

Code: Select all  Expand view  RUN
#include "FiveWin.ch"

static oWnd
static oFont
static oFont2

function Main()
  public oBru
     
   DEFINE BRUSH oBru COLOR nrgb(0,0,30)
   DEFINE FONT oFont NAME "MS Sans Serif" SIZE 0, -12
   DEFINE FONT oFont2 NAME "MS Sans Serif" SIZE 0, -14 BOLD

   DEFINE WINDOW oWnd TITLE 'PRUEBAFONT' BRUSH oBru MENU MenuPpal()
        @ 18,10 BUTTON oBtn1 PROMPT 'Fonts Publicas' OF oWnd;
                       ACTION DialogoPublic(oWnd);
                       SIZE 150,40; // Ancho, Alto                                
                       UPDATE
   ACTIVATE WINDOW oWnd MAXIMIZED
       
   oFont:End()
return nil

function DialogoPublic(oPadre)
  local oDlg, oBtn1
  local oTbr, aRolloCalc:={1,2,3,4,5,6}

   DEFINE DIALOG oDlg OF oPadre FROM 1,10 TO 25,80;


       @ 1, 1 SAY "Pruebas con Fonts" FONT oFont2;
                     COLOR nrgb(0,0,170),nrgb(220,220,220);
                     SIZE 150, 19 ;
                     OF oDlg
                     
       @ 3, 3 LISTBOX oTbr FIELDS ;
                     aRolloCalc;
                     HEAD 'valor' OF oDlg ;
                     FONT oFont2 COLOR  nrgb(0,0,0),nrgb(255,255,200) ;
                     UPDATE                 
                     
       @ 3,30 BUTTON oBtn1 PROMPT 'Salir' OF oDlg;
                       ACTION oDlg:end();
                       SIZE 25,20 ;                                
                       UPDATE
                       
   ACTIVATE DIALOG oDlg CENTERED
return nil
   
static function MenuPpal()
  local oMenu

  MENU oMenu
    MENUITEM '&Publicas' ACTION DialogoPublic(oWnd) MESSAGE 'Opción con variables publicas'
    MENUITEM '&Salida' ACTION oWnd:end() MESSAGE 'Salida del Programa'
  ENDMENU
return oMenu    
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Dec 14, 2014 3:41 pm

Al pulsar por segunda vez en el botón para entrar en el diálogo la letra ya no es la correcta.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Dec 14, 2014 3:46 pm

ESte es el contenido del fichero log con los errores que genera automáticamente el programa:

Code: Select all  Expand view  RUN
12/14/14 16:45:18: EXCESS RELEASE OF FONT MS Sans Serif[ hFont : 0] ( nCount : 0 )
     <-TFONT:END(246) <-TCONTROL:DESTROY(2178) <-(b)TWBROWSE:TWBROWSE(650) <-TWBROWSE:DESTROY(0) <-TWINDOW:HANDLEEVENT(0) <-TWBROWSE:HANDLEEVENT(1733) <-_FWH(3341) <-DIALOGBOXINDIRECT(0) <-TDIALOG:ACTIVATE(286)
    ------------------------------------------------------------   
12/14/14 16:45:36: EXCESS RELEASE OF FONT MS Sans Serif[ hFont : 0] ( nCount : -1 )
     <-TFONT:END(246) <-TCONTROL:DESTROY(2178) <-(b)TWBROWSE:TWBROWSE(650) <-TWBROWSE:DESTROY(0) <-TWINDOW:HANDLEEVENT(0) <-TWBROWSE:HANDLEEVENT(1733) <-_FWH(3341) <-DIALOGBOXINDIRECT(0) <-TDIALOG:ACTIVATE(286)
    ------------------------------------------------------------   
12/14/14 16:45:38: EXCESS RELEASE OF FONT MS Sans Serif[ hFont : 0] ( nCount : -2 )
     <-TFONT:END(246) <-TCONTROL:DESTROY(2178) <-(b)TWBROWSE:TWBROWSE(650) <-TWBROWSE:DESTROY(0) <-TWINDOW:HANDLEEVENT(0) <-TWBROWSE:HANDLEEVENT(1733) <-_FWH(3341) <-DIALOGBOXINDIRECT(0) <-TDIALOG:ACTIVATE(286)
    ------------------------------------------------------------   
12/14/14 16:45:40: EXCESS RELEASE OF FONT MS Sans Serif[ hFont : 0] ( nCount : -3 )
     <-TFONT:END(246) <-MAIN(21)
    ------------------------------------------------------------   
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Dec 14, 2014 3:54 pm

El LISTBOX es el que elimina/modifica la variable oFont que se emplee para él.
Estoy empleando en el enlazado la libreria del TBBROSE de Hernan VERSIÓN 17.
Viendo el mensaje de error del log la línea a la que hace referencia con número 650 contiene lo siguiente:

Code: Select all  Expand view  RUN
  METHOD Destroy() INLINE If( ::oTXT !=Nil, (::oTXT:End(), ::oTXT:= Nil),),;
                           Super:Destroy()


No se si puede ser que las últimas versiones de XHARBOUR o FWH no son compatibles con esa sitaxis.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Antonio Linares » Sun Dec 14, 2014 5:42 pm

Paz,

Mira a ver en el código del Listbox de Hernán si en algún lado se hace:

::oFont = oFont

Todas las asignaciones de fonts ahora tienen que hacerse con el método SetFont() y de ahí podría ser que se esté destruyendo más de la cuenta, cuando el control finalmente se destruye.

Si no lo encuentras, copia el fuente aqui y lo revisamos :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Dec 14, 2014 6:54 pm

Arreglado Antonio.
Hemos eliminado de esa clase las dos líneas con ::oFont = oFont
y al final de los métodos New y Redefine hemos añadido la línea Self:SetFont(oFont)

Habrá que pensar en planificar algo de tiempo para pasar al xBrowse, pero siempre hay algo más urgente que hacer y se va quedando para atrás, pero será la solución definitiva.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Antonio Linares » Sun Dec 14, 2014 10:15 pm

Me alegro de que se haya solucionado :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: EXCESS RELEASE OF FONT

Postby Patricio Avalos Aguirre » Mon Dec 15, 2014 8:42 pm

Estimados

en la clase de wbrowse de hernan, la variable ofont siempre es objeto, o no
de lo contratio Self:SetFont abria que verificar?

if oFont <> NIL
oFont:SetFont(oFont)
endif
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: EXCESS RELEASE OF FONT

Postby Antonio Linares » Tue Dec 16, 2014 5:19 am

Patricio,

Si. Ahora hay que tener cuidado de no hacer nunca:

oObjeto:oFont = oFont

siempre hay que usar

oObjeto:SetFont( oFont )

Aunque mientras escribo esto, se me acaba de ocurrir que podriamos usar sobrecarga de operadores y hacer que = ó := para un objeto TFont llamase por defecto a SetFont()...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Sun Jan 11, 2015 7:16 pm

Antonio,
No se si es necesario hacer algo parecido para los objetos oPen a lo que se hace con los oFont.
¿Me lo puedes confirmar?. Es que aunque menos EXCESS RELEASE OF FONT que antes esporádicamente sale alguno.
He revisado todo el código, y aunque me puedo haber dejado algo por detrás, no se me ocurre por donde buscar.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Antonio Linares » Sun Jan 11, 2015 9:22 pm

Estas usando alguna clase de terceros en la que no se este asignando el font usando el método SetFont() ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Mon Jan 12, 2015 7:17 am

La única clase que uso fuera FWH y Barbour es el browse de Hernan.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Mon Jan 12, 2015 7:19 am

Pero ya la he revisado y modificado para adaptarla también al setfont y a no hacer los oFont:end()
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: EXCESS RELEASE OF FONT

Postby Antonio Linares » Mon Jan 12, 2015 4:44 pm

Y se mantiene el error ó ya se ha corregido ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: EXCESS RELEASE OF FONT

Postby Verhoven » Mon Jan 12, 2015 9:08 pm

Se ha mantenido el error.
Pero como es más esporádico que antes tengo instalada la actualización de la aplicación en varios sitios a ver si pasados unos días (al menos una semana) de uso vuelve a producirse y comento el resultado.
Verhoven
 
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 7 guests