Erro htab
Closed this issue · 3 comments
O erro acontece quando clico em uma aba de uma tela.
Parte do código, mesmo assim vou tentar reproduzir um exemplo mais simples em um projeto aberto que tenho:
https://github.com/syggroup/xbase_scm
@ 002,140 TAB oTab ITEMS {} SIZE 1020,515;
ON GETFOCUS {|| oTab:SetFocus() };
ON INIT {|oCtrl|oCtrl:bChange:={|o,nPage|oTab:settab(nPage), oTab:ChangePage(nPage), IF(UPPER(ALLTRIM(o:aTabs[nPage]))='LOGO MARCA',CARREGA_LOGO_MARCA(cNOMEIMG),.T.) } }
Estou tendo o erro abaixo:
Error BASE/1075 Erro nos parƒmetros: >
Called from source\htab.prg->HTAB:SETTAB(319)
Called from ->(b)EVAL(1469)
Called from source\htab.prg->HTAB:NOTIFY(631)
Called from source\hcwindow.prg->ONNOTIFY(419)
Called from source\hcwindow.prg->HWINDOW:ONEVENT(247)
Called from source\hdialog.prg->HDIALOG:ONEVENT(382)
Called from source\hdialog.prg->HWG_DLGBOXINDIRECT(0)
Called from source\hdialog.prg->HDIALOG:ACTIVATE(145)
Called from source\cadcli.prg->CADCLI_GUI(4374)
Called from source\clientes.prg->(b)LISTA_CLIENTES(1953)
Called from source\hbrowse.prg->HBROWSE:ONCLICK(2972)
Called from source\hbrowse.prg->HBROWSE:EDIT(2992)
Called from source\hbrowse.prg->HBROWSE:BUTTONDBL(2877)
Called from source\hbrowse.prg->HBROWSE:ONEVENT(792)
Called from source\hdialog.prg->HWG_DLGBOXINDIRECT(0)
Called from source\hdialog.prg->HDIALOG:ACTIVATE(145)
Called from source\oSygListaFiltro.prg->OSYGLISTAFILTRO:EXECUTE(1692)
Called from source\clientes.prg->LISTA_CLIENTES(2086)
Called from source\sagi.prg->(b)MAIN(1076)
Called from source\hownbtn.prg->HOWNBUTTON:MUP(467)
Called from source\hownbtn.prg->HOWNBUTTON:ONEVENT(174)
Called from source\hwindow.prg->HWG_ACTIVATEMDIWINDOW(0)
Called from source\hwindow.prg->HMAINWINDOW:ACTIVATE(396)
Called from source\sagi.prg->MAIN(1702)
Consegui reproduzir o erro colocando no A.PRG da pasta SAMPLES.
A tela abre normalmente, quando clica na segunda aba da o erro.
Colocar no MENU uma chamada:
ErrorPreview( 'AAAAAAAAAAAAAAAAAA')
STATIC FUNCTION ErrorPreview( cMess )
LOCAL oDlg, oEdit, oTAB
INIT DIALOG oDlg TITLE "Erro No Sistema SCM Vs. 1.0";
ICON HIcon():AddResource(1004) ;
AT 0,0 SIZE 500,500 ;
FONT HFont():Add( '',0,-13,400,,,) CLIPPER NOEXIT NOEXITESC NOCLOSABLE;
STYLE DS_CENTER +WS_VISIBLE
@ 002,5 TAB oTab ITEMS {} SIZE 490,380;
ON GETFOCUS {|| oTab:SetFocus() };
ON INIT {|oCtrl|oCtrl:bChange:={|o,nPage|oTab:settab(nPage), oTab:ChangePage(nPage) } }
BEGIN PAGE "&Dados 1" of oTab
@ 05,30 EDITBOX oEdit CAPTION cMess SIZE 470,380 STYLE WS_VSCROLL + WS_HSCROLL + ES_MULTILINE + ES_READONLY ;
COLOR 255 ;
FONT HFont():Add( '',0,-11,400,,,);
ON GETFOCUS { || hwg_SendMessage( oEdit:handle, EM_SETSEL, 0, 0 ) }
END PAGE of oTab
BEGIN PAGE "&Dados 2" of oTab
END PAGE of oTab
@ 390,420 BUTTONEX "&Fechar" ON CLICK { || oDlg:CLOSE() } SIZE 100, 38 ;
BITMAP (HBitmap():AddResource(1005)):handle ;
TOOLTIP 'Clique aqui para Fechar';
STYLE WS_TABSTOP
oDlg:Activate()
RETURN Nil
A ordem dos parâmetros estava invertida no codeblock bChange. Alterei neste commit e o erro não ocorreu mais:
47be5d3
Confira, por favor, se ficou OK no seu sistema.
testei e deu certo, muito obrigado.