a situação é a seguinte:
tenho uma tela de BROWSE conforme codigo abaixo:
#include "hwgui.ch"
****************************************
FUNCTION MODALWINDOW
****************************************
LOCAL oDlg, oDatabase1, oSt1, oLabel1B, oOrdem, obusca, oBrowse1 ;
,oLabelrod, oToolbar1, oToolbutton1, oToolbutton2, oToolbutton3, oToolbutton4, oToolbutton5, oToolbutton6
Local nOrdem := 2 , vBusca := ""
IF ! ABRE_PRODUTOS()
DBCLOSEALL()
RETURN (NIL)
END
ORDSETFOCUS( 2 )
dbgotop()
INIT DIALOG oDlg TITLE "Cadastro de Produtos" AT 0, 0 SIZE hwg_GETDESKTOPWIDTH()-200,hwg_GETDESKTOPHEIGHT()-200 ;
FONT HFont():Add( 'Consolas',0,-16,400,,,) CLIPPER NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_MINIMIZEBOX+WS_MAXIMIZEBOX+WS_SIZEBOX+DS_CENTER;
ON INIT {|This| onDlgInit( This, oDlg ) }
Thisform := oDlg
ADD STATUS PANEL TO oDlg HEIGHT 30 FONT oDlg:oFont ;
HSTYLE HStyle():New( {16770002,16772062}, 1,, 0.4, 16759929 ) PARTS 200,300,300
@ 4,38 SAY oLabel1B CAPTION "Pesquisar" SIZE 138,25 ;
STYLE SS_CENTER +WS_DLGFRAME
@ 150,38 GET obusca VAR vBusca SIZE 410,25 PICTURE '@!' MAXLENGTH 30 ;
ON CHANGE {|| pesqprod(obusca:GETTEXT()) }
// obusca:Anchor := 131
@ 8,-1 TOOLBAR oToolbar1 SIZE 515,33 STYLE TBSTYLE_LIST
oToolbar1:AddButton("CMDINSERT", , 4, 16, "F2-Inclui" ,{||CadastroProdutos( )},'Incluir novo Produto','', "oToolbutton1")
oToolbar1:AddButton("CMDEDIT", , 4, 16, "F3-Altera" ,,'Altera os dados do cadastro','', "oToolbutton2")
oToolbar1:AddButton("CMDDELETE", , 4, 16, "F4-Exclui" ,{|| F4_Exclui() },'Exclui os dados do cadastro','', "oToolbutton3")
oToolbar1:AddButton("BMPSYNC", , 4, 16, "F5-Ordem" ,{|| IIF(INDEXORD()=1,ORDSETFOCUS(2),ORDSETFOCUS(1)),dbgotop(), vBusca:="", Thisform:obusca:Refresh(),;
thisform:obrowse1:refresh(), ThisForm:obusca:SetFocus(),;
IIF(INDEXORD()=1,hwg_WriteStatus( oDlg,3,"Ordem: Codigo "), hwg_WriteStatus( oDlg,3,"Ordem: Descriçao")) },;
'Altera a ordem de Pesquisa','',;
"oToolbutton4")
oToolbar1:AddButton("CMDBROWSE", , 4, 16, "F6-Pesquisar" ,{|| ThisForm:obusca:SetFocus()},'Ir para o campo de Pesquisa','', "oToolbutton5")
oToolbar1:AddButton("CMDEXIT", , 4, 16, "&Sair" ,{|| DBCLOSEALL(), hwg_Enddialog() },'Sair da rotina','', "oToolbutton6")
oToolbar1:CreateTool()
@ 4,67 BROWSE oBrowse1 DATABASE OF oDlg SIZE hwg_GETDESKTOPWIDTH()-45,hwg_GETDESKTOPHEIGHT()-330 STYLE WS_BORDER + WS_VSCROLL +WS_HSCROLL MULTISELECT ;
ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
ON POSCHANGE {|| hwg_WriteStatus( oDlg,2,"Registro: "+LTrim(Str( RecNo(),8))+ "/" +LTrim(Str( Lastrec(),8))) }
oBrowse1:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1 )
oBrowse1:freeze := 2
oBrowse1:alias := 'produtos'
oBrowse1:nColumns := 17
SELECT (oBrowse1:alias)
oBrowse1:AddColumn( HColumn():New('Codigo', FieldBlock( 'codpro' ) ,'C',8, 0 ,.F.,1,1,'@R 999999-9',,,,,;
{|| Ordsetfocus(1), Dbgotop(), vBusca:="" , Thisform:obusca:Refresh(), Thisform:obrowse1:Refresh(),;
Thisform:obusca:Setfocus(), hwg_WriteStatus( oDlg,3,"Ordem: Codigo ") } ,,,,))
oBrowse1:AddColumn( HColumn():New('Descrição/Nome Produto', FieldBlock( 'despro' ) ,'C',60, 0 ,.F.,1,,'@S40',,,,,;
{|| Ordsetfocus(2), Dbgotop(), vBusca:="" , Thisform:obusca:Refresh(), Thisform:obrowse1:Refresh(),;
Thisform:obusca:Setfocus(), hwg_WriteStatus( oDlg,3,"Ordem: Descriçao") } ,,,,))
oBrowse1:AddColumn( HColumn():New('Preço Venda', FieldBlock( 'preven' ) ,'N',14, 2 ,.F.,1,,'@E 999,999,999.99',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Situação', {|| IIF(ESTATU < VAL(SUBSTR(CODREF,17,3)),"BAIXO "," ") } ,'U',6, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Vendas Mês', FieldBlock( 'smes01' ) ,'N',10, 2 ,.F.,1,,'9999999.99',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Estoque Loja', {|| IF(PROSER = "1",ESTATU,ESTATU*(-1)) } ,'N',10, 2 ,.F.,1,,'9999999.99',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Est.Deposito', FieldBlock( 'estl02' ) ,'N',10, 2 ,.F.,1,2,'9999999.99',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Observações', FieldBlock( 'codref' ) ,'C',20, 0 ,.F.,1,,'@S22',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Preço Custo', FieldBlock( 'precus' ) ,'N',14, 2 ,.F.,1,2,'@E 999,999.99',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Unidade', FieldBlock( 'tipuni' ) ,'C',6, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Codigo Barras', FieldBlock( 'ean13' ) ,'N',14, 0 ,.F.,1,1,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('NCM', FieldBlock( 'ncm' ) ,'N',8, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('CEST', FieldBlock( 'cest' ) ,'C',8, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Tipo', {|| IF(PROSER = "1","PRODUTO","SERVICO") } ,'U',10, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('CFOP/REG/ST/ORIG/PIS/COFINS', {|| ICMS_CFOP+"/"+icms_regim+"/"+ICMS_ST+"/"+ICMS_ORIGE+"/"+q_PISst+"/"+s_COFst } ,'U',4, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Data Inc/Alt', FieldBlock( 'datalt' ) ,'D',10, 0 ,.F.,1,1,'99-99-9999',,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('Operador', FieldBlock( 'usualt' ) ,'C',20, 0 ,.F.,1,,'@S20',,,,,,,,,))
ACTIVATE DIALOG oDlg
DBCLOSEALL()
hwg_Enddialog()
RETURN NIL
STATIC FUNCTION onDlgInit( This, oDlg )
If HWG_Getdesktopwidth() <= 800
This:WindowState := 3
elseif .f.
ELSEIF This:TYPE < 10
This:Move( , , MAX(798,HWG_GETDESKTOPWIDTH() * 0.975), HWG_GETDESKTOPheight() * 0.80, 0 )
ELSE
This:Move( , , MAX(798,HWG_GETDESKTOPWIDTH() * 0.985), HWG_GETDESKTOPheight() * 0.815, 0 )
ENDIF
THIS:CENTER()
hwg_SetDlgKey( ThisForm,0,VK_F4,{|| F4_Exclui()})
hwg_SetDlgKey( ThisForm,0,VK_F5,{|| IIF(INDEXORD()=1,ORDSETFOCUS(2),ORDSETFOCUS(1)),dbgotop(),thisform:obrowse1:refresh(), ;
vBusca:="", ThisForm:obusca:Refresh(), ThisForm:obusca:SetFocus(),;
IIF(INDEXORD()=1,hwg_WriteStatus( oDlg,3,"Ordem: Codigo "), hwg_WriteStatus( oDlg,3,"Ordem: Descriçao"))})
hwg_SetDlgKey( ThisForm,0,VK_F6,{|| ThisForm:obusca:SetFocus()})
hwg_WriteStatus( oDlg,1,"Tabela: " + Alias())
hwg_WriteStatus( oDlg,2,"Registro: "+LTrim(Str( RecNo(),8))+ "/" +LTrim(Str( Lastrec(),8)))
hwg_WriteStatus( oDlg,3,"Ordem: Descriçao")
RETURN Nil
******************************************************
function pesqprod( cValue )
IF DBSEEK( ALLTRIM(cVALUE), .T. )
ThisForm:oBrowse1:DISABLE()
ThisForm:oBrowse1:REFRESH()
ThisForm:oBrowse1:ENABLE()
ENDIF
RETURN .T.
******************************************************
STATIC FUNCTION F4_Exclui
IF RLOCK()
IF MsgYESNO("DESEJA excluir, Tem certeza disso ?","Excluindo")
DBDELETE()
DBUNLOCK()
DBSKIP()
ThisForm:obrowse1:REFRESH()
ENDIF
ENDIF
RETURN .T.
********************************************************
que chama essa outra rotina
#include "hwgui.ch"
****************************************
FUNCTION CadastroProdutos
****************************************
LOCAL oDlg2, oStatus1, oEdit1, oLabel1, oEdit2, oLabel2, oEdit3, oLabel3 ;
, oEdit4, oLabel4, oEdit5, oLabel5, oEdit6, oLabel6, oEdit7, oLabel7 ;
, oEdit8, oLabel8, oEdit9, oLabel9, oPage1, oPage2, oPage3, oPage4, oPage5, oPage6, oPage7, oLabel10, oEdit10, oEdit11 ;
, oEdit12, oLabel11, oLabel12, oEdit13, oLabel13, oEdit14, oLabel14, oEdit15 ;
, oLabel15, oLabel16, oEdit16, oLabel17, oLabel18, oOwnerbutton1, oOwnerbutton2
Local cEdit1 := "" , nEdit2 := 0 , cEdit3 := "" , nEdit4 := 0 , nEdit5 := 0 , nEdit6 := 0 ;
, nEdit7 := 0 , cEdit8 := "" , cEdit9 := "" , nEdit10 := 0 , cEdit11 := "" , cEdit12 := "" , nEdit13 := 0 ;
, nEdit14 := 0 , nEdit15 := 0 , nEdit16 := 0
INIT DIALOG oDlg2 TITLE "Cadastro de Produtos/Serviços" AT 0, 0 SIZE 832,630 NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+WS_SIZEBOX+DS_CENTER
Thisform := oDlg2
ADD STATUS oStatus1 TO oDlg2
@ 127,21 GET oEdit1 VAR cEdit1 SIZE 94,24 PICTURE '999999-9' MAXLENGTH 7
@ 20,24 SAY oLabel1 CAPTION "Codigo Produto" SIZE 101,21
@ 358,21 GET oEdit2 VAR nEdit2 SIZE 128,24 PICTURE '9999999999999' MAXLENGTH 13
@ 262,24 SAY oLabel2 CAPTION "Codigo Barras" SIZE 95,21
@ 127,57 GET oEdit3 VAR cEdit3 SIZE 505,24 PICTURE '@!' MAXLENGTH 60
@ 54,56 SAY oLabel3 CAPTION "Descricao" SIZE 67,21
@ 127,93 GET oEdit4 VAR nEdit4 SIZE 47,24 PICTURE '999' MAXLENGTH 3
@ 72,95 SAY oLabel4 CAPTION "EX TIPI" SIZE 49,21
@ 235,93 GET oEdit5 VAR nEdit5 SIZE 80,24 PICTURE '99' MAXLENGTH 2
@ 183,96 SAY oLabel5 CAPTION "Genero" SIZE 49,21
@ 360,93 GET oEdit6 VAR nEdit6 SIZE 80,24 PICTURE '99999999' MAXLENGTH 8
@ 321,96 SAY oLabel6 CAPTION "NCM" SIZE 33,21
@ 489,93 GET oEdit7 VAR nEdit7 SIZE 80,24 PICTURE '9999999' MAXLENGTH 7
@ 448,96 SAY oLabel7 CAPTION "CEST" SIZE 37,21
@ 695,93 GET oEdit8 VAR cEdit8 SIZE 124,24 MAXLENGTH 6
@ 583,96 SAY oLabel8 CAPTION "Unid. Comercial" SIZE 109,21
@ 127,130 GET oEdit9 VAR cEdit9 SIZE 252,24 MAXLENGTH 20
@ 40,131 SAY oLabel9 CAPTION "Observaçao" SIZE 80,21
@ 13,179 TAB oPage1 ITEMS {} SIZE 804,386
BEGIN PAGE 'Preço' OF oPage1
@ 114,91 SAY oLabel10 CAPTION "Preço de Custo" SIZE 100,24 BACKCOLOR 16777215
@ 108,191 SAY oLabel12 CAPTION "Preço de venda" SIZE 103,24 BACKCOLOR 16777215
@ 221,92 GET oEdit10 VAR nEdit10 SIZE 145,24 PICTURE '99999,999,999.99' MAXLENGTH 14
@ 221,136 GET oEdit11 VAR cEdit11 SIZE 80,24 PICTURE '9.99999' MAXLENGTH 7
@ 221,180 GET oEdit12 VAR cEdit12 SIZE 179,24 PICTURE '99999999999.99' MAXLENGTH 14
@ 61,137 SAY oLabel11 CAPTION "Indice Comercializaçao" SIZE 153,24 BACKCOLOR 16777215
END PAGE OF oPage1
BEGIN PAGE 'Estoque' OF oPage1
@ 104,52 SAY oLabel13 CAPTION "Estoque Minimo" SIZE 107,24 BACKCOLOR 16777215
@ 225,51 GET oEdit13 VAR nEdit13 SIZE 80,24 PICTURE '999999' MAXLENGTH 6
@ 225,102 GET oEdit14 VAR nEdit14 SIZE 80,24 PICTURE '9999999999' MAXLENGTH 10
@ 120,97 SAY oLabel14 CAPTION "Estoque Atual" SIZE 91,24 BACKCOLOR 16777215
@ 225,147 GET oEdit15 VAR nEdit15 SIZE 93,24 PICTURE '9999999999' MAXLENGTH 10
@ 53,141 SAY oLabel15 CAPTION "Max. Permitido a vender" SIZE 161,24 BACKCOLOR 16777215
@ 330,144 SAY oLabel16 CAPTION "0 = Venda Livre" SIZE 104,24 BACKCOLOR 16777215
@ 225,192 GET oEdit16 VAR nEdit16 SIZE 80,24 PICTURE '9999.999' MAXLENGTH 8
@ 75,197 SAY oLabel17 CAPTION "Peso da Embalagem" SIZE 136,24 BACKCOLOR 16777215
@ 317,193 SAY oLabel18 CAPTION "1,000=1Kg 0,800=800g" SIZE 151,24 BACKCOLOR 16777215
END PAGE OF oPage1
BEGIN PAGE 'CFOP' OF oPage3
END PAGE OF oPage3
BEGIN PAGE 'ICMS' OF oPage4
END PAGE OF oPage4
BEGIN PAGE 'IPI' OF oPage5
END PAGE OF oPage5
BEGIN PAGE 'PIS' OF oPage6
END PAGE OF oPage6
BEGIN PAGE 'COFINS' OF oPage7
END PAGE OF oPage7
@ 591,572 OWNERBUTTON oOwnerbutton1 SIZE 98,32 ;
TEXT 'Ok' ;
COORDINATES 0, 0, 0, 0 ;
BITMAP 'BMPYES' FROM RESOURCE ;
COORDINATES 1, 0, 0, 0 ;
ON CLICK {|| hwg_Enddialog() }
@ 701,572 OWNERBUTTON oOwnerbutton2 SIZE 98,32 ;
TEXT 'Cancelar' ;
COORDINATES 0, 0, 0, 0 ;
BITMAP 'BMPDELETE' FROM RESOURCE ;
COORDINATES 1, 0, 0, 0 ;
ON CLICK {|| oDlg2:Close() }
ACTIVATE DIALOG oDlg2
RETURN NIL
quando encerro a rotina cadatroprodutos() ocorre o erro
Error HCUSTOMWINDOW/0 Invalid class member
Called from source\winapi\hcwindow.prg->HDIALOG:OBROWSE1(230)
Called from modalwindow.prg->PESQPROD(132)
Called from modalwindow.prg->(b)MODALWINDOW(42)
Called from source\winapi\hdialog.prg->ONDLGCOMMAND(335)
Called from source\winapi\hdialog.prg->(b)(_INITSTATICS00003)(0)
Called from source\winapi\hdialog.prg->HDIALOG:ONEVENT(182)
Called from ->HWG_SETDLGITEMTEXT(0)
Called from source\winapi\hedit.prg->HEDIT:REFRESH(409)
Called from source\winapi\hedit.prg->__WHEN(826)
Called from source\winapi\hedit.prg->(b)HEDIT_NEW(95)
Called from source\winapi\hdialog.prg->ONDLGCOMMAND(335)
Called from source\winapi\hdialog.prg->(b)(_INITSTATICS00003)(0)
Called from source\winapi\hdialog.prg->HDIALOG:ONEVENT(182)
Called from ->HWG__ENDDIALOG(0)
Called from source\winapi\hdialog.prg->HWG_ENDDIALOG(498)
Called from source\winapi\hdialog.prg->(b)HDIALOG(56)
Called from source\winapi\hdialog.prg->HDIALOG:CLOSE(0)
Called from cad_produtos.prg->(b)CADASTROPRODUTOS(90)
Called from source\winapi\hownbtn.prg->HOWNBUTTON:MUP(380)
Called from source\winapi\hownbtn.prg->HOWNBUTTON:ONEVENT(144)
Called from ->HWG_DLGBOXINDIRECT(0)
Called from source\winapi\hdialog.prg->HDIALOG:ACTIVATE(135)
Called from cad_produtos.prg->CADASTROPRODUTOS(93)
Called from modalwindow.prg->(b)MODALWINDOW(47)
Called from source\winapi\htool.prg->HTOOLBAR:NOTIFY(414)
Called from source\winapi\hcwindow.prg->ONNOTIFY(251)
Called from source\winapi\hcwindow.prg->(b)(_INITSTATICS00004)(0)
Called from source\winapi\hcwindow.prg->HWINDOW:ONEVENT(177)
Called from source\winapi\hdialog.prg->HDIALOG:ONEVENT(190)
Called from ->HWG_DLGBOXINDIRECT(0)
Called from source\winapi\hdialog.prg->HDIALOG:ACTIVATE(135)
Called from modalwindow.prg->MODALWINDOW(96)
Called from SGC.PRG->(b)MAIN(1267)
Called from SGCFU2.PRG->MENU(156)
Called from SGC.PRG->MAIN(1271)
HWGUI 2.20 Build 3
Date:12/11/2017
Time:15:55:25
:% :% :% :%
ja coloquei dentro do mesmo .PRG e tambem separado mas o erro continua