"swaping" de funciones

Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Funcionou perfeito agora :D

Gracias Quique e Antonio,

Rossine.
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
quique
Posts: 408
Joined: Sun Aug 13, 2006 5:38 am
Contact:

Post by quique »

Anotnio ¿que necesito hacer para que funcione esto? marca error en el ultimo msgInfo()

Code: Select all

#INCLUDE "hbclass.CH"

function main
   miTWindow()
   funSwap( @time(), @miTime() )
   msgInfo( time() )
   funSwap( @tWindow(), @miTWindow() )
   msgInfo( tWindow():prueba )
   msgInfo( tMdiClient():prueba )
return nil

function miTime()
return "Hola"

class miTWindow from tWindow
   data prueba
endClass

#pragma BEGINDUMP

HB_FUNC( FUNSWAP )

{

   PHB_SYMB pFirst = ( PHB_SYMB ) hb_parptr( 1 );

   PHB_SYMB pLast  = ( PHB_SYMB ) hb_parptr( 2 );



   if( pFirst && pLast )

   {

      pFirst->value.pFunPtr = pLast->value.pFunPtr;

   }

}

#pragma ENDDUMP
Saludos
Quique
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Quique,

Por lo visto la clase derivada sigue usando el puntero antiguo, de alguna forma.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
quique
Posts: 408
Joined: Sun Aug 13, 2006 5:38 am
Contact:

Post by quique »

Sip, por eso la consulta ¿hay manera de solucionar ese problema?
Saludos
Quique
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Quique,

Debe estar usandose el puntero antiguo, el cual debe estar almacenado en otro lugar tambien.

Habria que revisar el modulo de classes en C de Harbour/xHarbour y localizar en donde esté ese puntero guardado.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply