marcosgambeta/HWGUI

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.