Tengo entendido, y hasta en momento lo he venido usando así, que el llamado a un método dentro la clase lo debo hacer de la siguiente manera:
- Code: Select all Expand view RUN
- ::mimetodo()
Y funcionaba de maravilla, resulta que ahora requiero hacer el llamado al método desde la clase, pero utilizando un GET, de la siguiente manera:
- Code: Select all Expand view RUN
********************************************************************************
METHOD Dibuja() CLASS cItem
DEFINE DIALOG oDlgItm RESOURCE "ORFACT1" OF oDlgFct
...........
REDEFINE GET oGnom VAR ::hDatos["nombre"] ID 140 OF oDlgItm UPDATE BITMAP "Bbusc" ;
ACTION (::dibujaOpciones(oDlgItm,oGnom))
..........................
ACTIVATE DIALOG oDlgItm
Pero al llamar al método desde la clase, parece que se confunde y asume que estoy llamando un método de la clase tget. El error es el siguiente:
- Code: Select all Expand view RUN
- Application
===========
Path and name: C:\DLYMA\dlyma.exe (32 bits)
Size: 6,137,856 bytes
Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613)
FiveWin version: FWH 19.06
C compiler version: Borland/Embarcadero C++ 7.3 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 32 secs
Error occurred at: 19/08/2019, 15:11:08
Error description: Warning BASE/1004 Message not found: TGET:DIBUJAOPCIONES
Stack Calls
===========
Called from: source\rtl\tobject.prg => TGET:ERROR( 0 )
Called from: source\rtl\tobject.prg => TGET:MSGNOTFOUND( 0 )
Called from: source\rtl\tobject.prg => TGET:DIBUJAOPCIONES( 0 )
Called from: c:\dlyma\prg\Afact.prg => (b)CITEM:DIBUJA( 438 )
Called from: .\source\classes\TGET.PRG => (b)TGET:CREATEBUTTON( 952 )
Called from: .\source\classes\BUTTON.PRG => TBUTTONBMP:CLICK( 179 )
Called from: .\source\classes\CONTROL.PRG => TBUTTON:HANDLEEVENT( 1755 )
Called from: .\source\classes\BUTTONB.PRG => TBUTTONBMP:HANDLEEVENT( 261 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => SENDMESSAGE( 0 )
Called from: .\source\classes\WINDOW.PRG => TGET:COMMAND( 1130 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1801 )
Called from: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 1160 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 304 )
Called from: c:\dlyma\prg\Afact.prg => CITEM:DIBUJA( 455 )
Called from: c:\dlyma\prg\R32_fact.prg => GESITEM( 587 )
Called from: c:\dlyma\prg\R32_fact.prg => (b)MANTEFACTURAS( 242 )
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:FOOTERLBUTTONUP( 14354 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:LBUTTONUP( 4802 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1791 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 11218 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 304 )
Called from: c:\dlyma\prg\R32_fact.prg => MANTEFACTURAS( 391 )
Called from: c:\dlyma\prg\R32_fact.prg => (b)FFACTURAS( 82 )
Called from: .\source\classes\URLLINK.PRG => TURLLINK:LBUTTONDOWN( 180 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1788 )
Called from: .\source\classes\URLLINK.PRG => TURLLINK:HANDLEEVENT( 168 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1078 )
Called from: c:\dlyma\prg\R32_menu.prg => MAIN( 530 )
Como puedo solucionar ese problema? de antemano gracias.