FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Thu Sep 20, 2012 02:02 AM

En este método de la clase trbtn
deleteobject (::hBack) solo se aplica cuando se botón creado esta contenido en una trbgroup, y si no es así.. PQ no se usa..
debería destruirse o no

METHOD Destroy() CLASS TRBtn

DeleteObject( ::hArrow )

if ::oWnd:IsKindOf( "TRBGROUP" )
if ::hBack != ::oWnd:hBack
DeleteObject( ::hBack )
endif
endif

Posts: 330
Joined: Fri May 25, 2007 09:06 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Thu Sep 20, 2012 03:16 PM

..

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Thu Sep 20, 2012 08:27 PM
Si, tienes razón, debería eliminarse siempre sino es el mismo que el de su contenedor:

Code (fw): Select all Collapse
   // if ::IsKindOf( "TRBGROUP" )
      if ::hBack != ::oWnd:hBack
         DeleteObject( ::hBack )
      endif
   // endif


gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Mon Sep 24, 2012 12:48 PM
Hola

hice el cambio y me arrojo error

Error occurred at: 24/09/2012, 09:44:58
Error description: Warning BASE/1004 Message not found: TRIBBONBAR:HBACK

Stack Calls
===========
Called from: source\rtl\tobject.prg => TRIBBONBAR:ERROR( 0 )
Called from: source\rtl\tobject.prg => TRIBBONBAR:MSGNOTFOUND( 0 )
Called from: source\rtl\tobject.prg => TRIBBONBAR:HBACK( 0 )
Called from: c:\fwh\source\classes\TRBTN.prg => TRBTN:DESTROY( 876 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: c:\fwh\source\classes\CONTROL.prg => TCONTROL:HANDLEEVENT( 1701 )
Called from: c:\fwh\source\classes\TRBTN.prg => TRBTN:HANDLEEVENT( 1526 )
Called from: c:\fwh\source\classes\WINDOW.prg => _FWH( 3152 )
Called from: => WINRUN( 0 )
Called from: c:\fwh\source\classes\WINDOW.prg => TWINDOW:ACTIVATE( 978 )
Called from: .\Wcta.PRG => MAIN( 31 )
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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Mon Sep 24, 2012 01:20 PM
Cierto, solo un rbgroup tiene la data hBack...

lo dejamos asi:
Code (fw): Select all Collapse
   if ::oWnd:IsKindOf( "TRBGROUP" ) .and. ::hBack != ::oWnd:hBack
     DeleteObject( ::hBack )
  endif
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Tue Sep 25, 2012 03:33 AM

MASTER ANTONIO Y PATRICIO

Esto:

if ::oWnd:IsKindOf( "TRBGROUP" ) .and. ::hBack != ::oWnd:hBack
DeleteObject( ::hBack )
endif

es lo mismo que decir:

if ::oWnd:IsKindOf( "TRBGROUP" )
if ::hBack != ::oWnd:hBack
DeleteObject( ::hBack )
endif
endif

de la clase original de TRBTN, ahora hBack como data la posee la clase trbgroup y tambien la clase trbtn es cosa de leer..
en este metodo destroy ( ojo de la clase TRBTN ) que preguntamos:

1.- si es ::oWnd de la clase TRBGROUP , y esto para que, simple para poder comparar si el hBack del TRBTN no es igual al de su contenedor y asi poder eliminarlo

lo que no cuadra es cuando el TRBTN no esta contenido en un RBGROUP, que se hace :::???
SIMPLE
eliminar el objeto de frenton quedando el codigo asi

if ::oWnd:IsKindOf( "TRBGROUP" )
if ::hBack != ::oWnd:hBack
DeleteObject( ::hBack )
endif
Else
DeleteObject( ::hBack )
endif

Que opinas MASTER
atento a tus comentarios.

Pdt. se me olvidaba master,, porque hay que comparar los dos hBack,, el del TRBtn y el del TRBGROUP.. ??

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN
Posted: Tue Sep 25, 2012 08:10 AM

Se comparan porque puede ser el mismo que el de su contenedor, en cuyo caso no hay que destruirlo.

gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion