Clipper On Line • Ver Tópico - Precisando de Ajuda !!!

Precisando de Ajuda !!!

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Precisando de Ajuda !!!

Mensagempor Fernando queiroz » 12 Nov 2017 18:06

O seguinte erro esta acontecendo e nao tenho a minima ideia do que possa ser pois ja fiz varios teste e sempre ocorre o mesmo problema.

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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

PRECISANDO DE AJUDA !!!

Mensagempor asimoes » 12 Nov 2017 18:52

O problema parece ser isso:

Thisform := oDlg2

Comenta ou dê outro nome para a variável
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

PRECISANDO DE AJUDA !!!

Mensagempor Fernando queiroz » 12 Nov 2017 19:25

:)) :)) :)) :))

vários dias batendo cabeça com isso , valeuuuuuu obrigado :{ :{ :{ :{
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro