PARA ANTONIO LINARES SOBRE CLASE TRBTN

PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby mantonio_08 » Thu Sep 20, 2012 2: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
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby mantonio_08 » Thu Sep 20, 2012 3:16 pm

..
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby Antonio Linares » Thu Sep 20, 2012 8:27 pm

Si, tienes razón, debería eliminarse siempre sino es el mismo que el de su contenedor:

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


gracias! :-)
regards, saludos

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

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby Patricio Avalos Aguirre » 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
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby Antonio Linares » Mon Sep 24, 2012 1:20 pm

Cierto, solo un rbgroup tiene la data hBack...

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

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

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby mantonio_08 » Tue Sep 25, 2012 3: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.. ??
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Re: PARA ANTONIO LINARES SOBRE CLASE TRBTN

Postby Antonio Linares » Tue Sep 25, 2012 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41461
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

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