FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour EXTENDED class
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
EXTENDED class
Posted: Mon Sep 05, 2016 03:05 PM
Buenas.

Ya vi varios item en el foro, pero no me funciona.

tengo que extender la clase tdolphin para hacer una modificacion que me dijo Carlos la cual me parecio muy buena,
en mi
Code (fw): Select all Collapse
function main()
   EXTEND CLASS TDOLPHINQRY WITH METHOD insert_2
   ...
   return(nil)


y luego en un archivo aparte (que incluyo al compilar)
pongo mi definicion de la funcion

Code (fw): Select all Collapse
FUNCTION insert_2( cTabla, aFV, nOperacion )


pero al momento de llamarlo desde otro archivo que es una deficion de una clase
me tira el siguiente error:
Error description: Error BASE/1004 Class: 'NIL' has no exported method: INSERT_2
Args:
[ 1] = U
[ 2] = C tbpc
[ 3] = A { ... }
[ 4] = N 0


que estoy haciendo mal?

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: EXTENDED class
Posted: Mon Sep 05, 2016 03:22 PM
Code (fw): Select all Collapse
// The example adds a method to the "root" class of xHarbour: HBObject().
// All new classes inherit from this class. This is used in the example
// for tracing variables depending on their data types in different log
// files.

 #include "HbClass.ch"

 PROCEDURE Main
   LOCAL obj, nValue := 2, dDate := Date()

   EXTEND CLASS HBObject WITH MESSAGE log METHOD LogData

   ENABLE TYPE CLASS ALL

   obj := Test():new( "xHarbour" )

   obj:log( "Objects.log" )

   nValue:log( "Numerics.log" )

   dDate:log( "Dates.log" )
 RETURN

 CLASS Test
   EXPORTED:
   DATA value
   METHOD init(x) INLINE (::value := x, self)
 ENDCLASS

 STATIC FUNCTION LogData( cLogFile )
   LOCAL self := HB_QSelf()
   LOCAL cOldFile

   IF .NOT. Set( _SET_TRACE )
    RETURN self
   ENDIF

   IF Valtype( cLogFile ) == "C"
    cOldFile := Set( _SET_TRACEFILE, cLogFile )
   ENDIF

   Tracelog( self )

   IF cOldFile <> NIL
    Set( _SET_TRACEFILE, cOldFile )
   ENDIF
 RETURN self


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: EXTENDED class
Posted: Mon Sep 05, 2016 03:35 PM

algo estoy haciendo mal.

el codigo que utilizo esta estructurado cmo pones vos, pero a mi no me lo llama al metodo.

voy a probar tu ejemplo.

gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: EXTENDED class (SOLUCIONADO)
Posted: Mon Sep 05, 2016 09:47 PM

Gracias!

Lo que estaba haciendo gracias a Carlos que me guio desde el principio me funcionó ,
lo que estaba mal era que yo ponia TDOLPHINQRY y debia ser TDOLPHINSRV gracias
a ambos!

Solucionado.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion