Clipper On Line • Ver Tópico - Problema com o Browse

Problema com o Browse

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Problema com o Browse

Mensagempor Daiane » 05 Abr 2016 08:32

Bom pessoal,estou tendo problema com o listBox
quando fecho a tela que contem um histórico no listbox e volto para a tela de casdatro ele dar varios erros que diz q o banco n esta aberto ou selecionado
so que fiz o teste e ele está. ja fiz de tudo mas não to conseguindo resolver
alguem pode me dar um caminho por eu onde eu posso verificar esse erro?

vou mostrar algumas partes do fonte

Tela com o listbox que ao fechar dar o erro :
METHOD HistFaltas() class CadFuncFerias
   local ok := .F.
   DEFINE ICON oIcon RESOURCE "#8006"
   DEFINE DIALOG ::DlgFaltas RESOURCE "#1160" OF ::oChild ICON oIcon;
   TITLE "Histórico de Faltas"

   ::xxNome    := 1->NOME
   ::xxAdms    := 1->ADMISSAO
   ::xxCodigo  := 1->CODIGO

   
   REDEFINE SAY ID 4007 OF ::DlgFaltas
   REDEFINE SAY ID 4005 OF ::DlgFaltas
   REDEFINE SAY ID 4009 OF ::DlgFaltas
   
   REDEFINE SAY ::gxCodigo VAR ::xxCodigo  ID 4008 OF ::DlgFaltas
   REDEFINE SAY ::gxNome    VAR ::xxNome     ID 4006 OF ::DlgFaltas
   REDEFINE SAY ::gxAdms    VAR ::xxAdms     ID 4010 OF ::DlgFaltas
   
   ::TempFaltas()   

   REDEFINE XBROWSE ::xbrowFaltas ID 4002 OF ::DlgFaltas;
       HEADERS "Mes", "Tipo" , "Falta" ;
      JUSTIFY .F., AL_CENTER, .T., .T., .T. ;
       COLSIZES 137,137,139 ;
   ARRAY ::aHistFal AUTOCOLS AUTOSORT
   
   ::xbrowFaltas:nMarqueeStyle   := MARQSTYLE_HIGHLWIN7
   
   
   REDEFINE BUTTON ID 4001 OF ::DlgFaltas ACTION (::DlgFaltas:End()) CANCEL
       ::UseDB()     

   ACTIVATE DIALOG ::DlgFaltas CENTER
    
RETURN ok
//-------------------------------------------------------------------------------------------------------------
METHOD TempFaltas() class CadFuncFerias
   ::aHistFal := {}
   Sele 29
   SET ORDER TO 2  //"MES+CODE"
   GO TOP
   cFaltas := 0 //Zera a quantidade de faltas para não pegar a mesma quantidade para toda repetição
   cHoras  := 0   
   do while !eof()
      IF 1->CODIGO <> 29->CODF         
         skip
         loop
      ENDIF
      if 29->MES < LEFT(DTOS(::cFERIAS),6) .or. 29->MES > LEFT(DTOS(::cFERIAS1),6) //mes <> left(kwmes,4)   
        skip
        loop   
      endif   
      SELE 4
      SET ORDER TO 2 //UPPER(DESCRICAO)
      GO TOP
      DO WHILE !EOF() //Procura por faltas
         IF 4->CODIGO = 29->CODE
            IF (AT("FALTA", UPPER(4->DESCRICAO)) > 0) .AND. (4->DHV = "D") .AND. (4->PRODES = "D")
               AADD( ::aHistFal, { 29->MES,"Dia", 29->VALOR} )       
            ENDIF   
            IF (AT("FALTA", UPPER(4->DESCRICAO)) > 0) .AND. (4->DHV = "H") .AND. (4->PRODES = "D")
               AADD( ::aHistFal, { 29->MES,"Hora", 29->VALOR} )
            ENDIF
         ENDIF
      SELE 4      
      SKIP  //PRODES
      ENDDO   
   SELE 29      
   skip //FLMONT
   enddo
RETURN 



no caso esse USEDB() volta e abre o banco que eu preciso quando saio da janela
Anexos
error.txt
(45.73 KiB) Baixado 33 vezes
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Problema com o Browse

Mensagempor Kapiaba » 05 Abr 2016 09:39

Error description: Error DBCMD/2001 Workarea not in use: DBSKIPPER

Veifique estas linhas:

Called from: C:\mfolhawin\CadFuncFerias.prg => (b)CADFUNCFERIAS:INCOUALT( 414 ) -> Bad - está mal

Called from: C:\mfolhawin\CadFuncFerias.prg => CADFUNCFERIAS:INCOUALT( 416 )
Called from: C:\mfolhawin\CadFuncFerias.prg => (b)CADFUNCFERIAS:POPULAR( 262 ) -> bad - está mal

   ::UseDB()     // ESTÁ DENTRO DE UM DEFINE DIALOG... ACTIVATE DIALOG...
                 // EQUIVALE A UM WHILE... ENDDO... SE O LOOPING GIRAR 1000000 DE X, ABRIRÁ 1000000 DE X E ESTOURARAR A PILHA. REVISE A ABERTURA DOS BANCOS E NÃO PONHA DENTRO DO LOOPING NUNCA.

   ACTIVATE DIALOG ::DlgFaltas CENTER
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1477
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 284 vezes
Mens.Curtidas: 89 vezes

Problema com o Browse

Mensagempor Daiane » 05 Abr 2016 10:15

Na verdade eu ja olhei essas linhas e são as que está usando o banco
ja coloquei um prin ? select() e ele retornar .t. pro banco que eu quero
porem continua o erro

não entendo.

não encontro esse erro de DBSKIPPER
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Problema com o Browse

Mensagempor Daiane » 05 Abr 2016 10:17

Linhas que possivelmente está o erro são essas:

   REDEFINE BUTTON ::bAlterar ID 4002 OF ::oChild WHEN ( 900->FERCOMP>=::vPdatini ) ACTION ::IncOuAlt(.F., .F.)

METHOD IncOuAlt(inc, first) CLASS CadFuncFerias
IF ( inc .OR. ( 900->FERCOMP>=::vPdatini ) .OR. EMPTY(900->FERCOMP))
   
   DEFINE ICON oIcon RESOURCE if(inc,"#8002","#8003")
   DEFINE DIALOG ::oDlg RESOURCE "#1037" OF IF (first, ::funcWnd, ::oChild) ICON oIcon;
   TITLE if(inc, "Incluir", "Alterar") + " Movimento de Férias"
   REST FROM &(::bancos:arqParam) ADDI
   
   IF !::FuncAfast()
      RETURN
   ENDIF
      
   ::ChekrNvPer(inc)
         
   ::InicializaVariaveis(inc, first)
   
   ::nreg := recno()
   
   REDEFINE SAY ID 4025 OF ::oDlg
   REDEFINE SAY ID 4009 OF ::oDlg
   REDEFINE SAY ID 4013 OF ::oDlg
   REDEFINE SAY ID 4005 OF ::oDlg
   REDEFINE SAY ID 4006 OF ::oDlg
   REDEFINE SAY ID 4004 OF ::oDlg
   REDEFINE SAY ID 4007 OF ::oDlg
   REDEFINE SAY ID 4015 OF ::oDlg
   REDEFINE SAY ID 4016 OF ::oDlg
   REDEFINE SAY ID 4020 OF ::oDlg
   REDEFINE SAY ID 4021 OF ::oDlg
   REDEFINE SAY ID 4023 OF ::oDlg
   REDEFINE SAY ID 4028 OF ::oDlg
   REDEFINE SAY ID 4030 OF ::oDlg
   REDEFINE SAY ID 4031 OF ::oDlg
   REDEFINE SAY ID 4033 OF ::oDlg
   REDEFINE SAY ID 4035 OF ::oDlg
   REDEFINE SAY ID 4037 OF ::oDlg
   REDEFINE SAY ID 4039 OF ::oDlg
   REDEFINE SAY ID 4042 OF ::oDlg
   REDEFINE SAY ID 4044 OF ::oDlg
          
   REDEFINE RADIO ::gTPFER   VAR ::cTPFER ID 4017, 4024 OF ::oDlg
   
   REDEFINE SAY ::gNOME       VAR ::cNOME        ID 4026 OF ::oDlg
   REDEFINE SAY ::gADMISSAO   VAR ::cADMISSAO     ID 4027 OF ::oDlg
   
   REDEFINE SAY ::gNvPerAqs    VAR ::cNvPerAqs ID 4036 COLOR CLR_HRED OF ::oDlg
   
   REDEFINE GET ::gFERIAS      VAR ::cFERIAS      ID 4010 OF ::oDlg;
   VALID ( YEAR(::cFERIAS) >= 1990 )
   REDEFINE GET ::gFERIAS1     VAR ::cFERIAS1     ID 4014 OF ::oDlg;
   VALID IF( ( YEAR(::cFERIAS1) >= 1990 ), ::feriasok(inc), .F. ) .and. ::ContFaltas(inc) .and. ::clcFerColet(.T.)
   
   REDEFINE GET ::gFERGOZO     VAR ::cFERGOZO     ID 4011 OF ::oDlg;
   VALID ::checkGozo() .and. !empty(::cFERGOZO)
   
   REDEFINE GET ::gFERGOZO1    VAR ::cFERGOZO1    ID 4012 OF ::oDlg;
   VALID ( ( ( YEAR(::cFERGOZO1) >= 1990 ) .AND. ( ::cFERGOZO1>=::cFERGOZO ) ) .OR. ( ::cFERGOZO1=CTOD("") ) ) .and. ::checkGozo1(inc) .and. !empty(::cFERGOZO1) .and. ::ChekQtdDias()
   
   REDEFINE GET ::gFERABONO    VAR ::cFERABONO    ID 4002 OF ::oDlg;
   VALID ( ( ( YEAR(::cFERABONO) >= 1990 ) .AND. ( ::cFERABONO > 1->ADMISSAO ) ) .OR. ( ::cFERABONO=CTOD("") ) )
   REDEFINE GET ::gFERABONO1   VAR ::cFERABONO1    ID 4003 OF ::oDlg;
   VALID ( ( ( YEAR(::cFERABONO1) >= 1990 ) .AND. ( ::cFERABONO1>=::cFERABONO ) ) .OR. ( ::cFERABONO1=CTOD("") ) )
   
   REDEFINE GET ::gFERAVISO   VAR ::cFERAVISO   ID 4008 OF ::oDlg;
   VALID ( ( ( YEAR(::cFERAVISO) >= 1990 ) .AND. ( ::cFERAVISO > 1->ADMISSAO ) ) .OR. ( ::cFERAVISO=CTOD("") ) )
   
   REDEFINE GET ::gFERPGTO      VAR ::cFERPGTO      ID 4018 OF ::oDlg;
   VALID ( ( ( YEAR(::cFERPGTO) >= 1990 ) .AND. ( ::cFERPGTO  > 1->ADMISSAO ) ) .OR. ( ::cFERPGTO=CTOD("") ) )
   
   REDEFINE GET ::gFERCOMP     VAR ::cFERCOMP     ID 4022 OF ::oDlg;
     VALID ( ::cFERCOMP>=::vPdatini .AND. ::cFERCOMP<=::vPdatfim .AND. ( DAY(::cFERCOMP)=1 .OR. DAY(::cFERCOMP)=30 ) ) .OR. ::cFERCOMP=CTOD("") 
   
   REDEFINE GET ::gNFERIAS     VAR ::cNFERIAS     ID 4019 OF ::oDlg;
   PICTURE "99" VALID ::NFERDOBRO()

   REDEFINE GET ::gRETORNO      VAR ::cRETORNO      ID 4029 OF ::oDlg;
   VALID ( ( ( YEAR(::cRETORNO) >= 1990 ) .AND. ( ::cRETORNO  > 1->ADMISSAO ) ) .OR. ( ::cRETORNO=CTOD("") ) )

   REDEFINE GET ::gDiasDrt VAR ::cDiasDrt ID 4032 OF ::oDlg PICT "99" WHEN(.F.)
     
   REDEFINE GET ::gQtdDias VAR ::cQtdDias ID 4034 OF ::oDlg PICT "99" ;
   VALID ::ValideDias() .and. ::SaldoFer(inc) 
   
   REDEFINE GET ::gFaltasFer VAR ::cFaltasFer ID 4038 OF ::oDlg PICT "99" WHEN(.F.)
   REDEFINE GET ::gReducao   VAR ::cReducao   ID 4043 OF ::oDlg PICT "99" WHEN(.F.)
   REDEFINE GET ::gConceder  VAR ::cConceder  ID 4040 OF ::oDlg PICT "99" WHEN(.F.)
   REDEFINE GET ::gSaldoFer  VAR ::cSaldoFer  ID 4041 OF ::oDlg PICT "99" WHEN(.F.) 
   
   REDEFINE BUTTONBMP ::bHisFaltas ID 4045 OF ::oDlg;
                      BITMAP "#7001" ACTION ::HistFaltas() CANCEL         
   
 
   REDEFINE BUTTON ::bSalvar ID IDOK OF ::oDlg ACTION ::Confirmar(inc, first);
   WHEN (::EnableSalvar())
       /*!EMPTY(::cFERIAS   ) .AND.;
         !EMPTY(::cFERIAS1  ) .AND.;
         !EMPTY(::cTPFER    ) .AND.;
         !EMPTY(::cFERGOZO  ) .AND.;
         !EMPTY(::cFERGOZO1 ) */
      
         
   REDEFINE BUTTON ID 4001 OF ::oDlg ACTION ::Restaurar(inc, first)
   REDEFINE BUTTON ID IDCANCEL OF ::oDlg ACTION (::oDlg:End(), IF(first, ::GoTop(), ) ) CANCEL
      
   ACTIVATE DIALOG ::oDlg CENTERED
 
//ELSE
//   MsgAlert("Funcionário diferente do selecionado!", "Operação Inválida")
//ENDIF   
ENDIF

return nil


 REDEFINE BUTTON ID IDCANCEL OF ::oDlg ACTION (::oDlg:End(), IF(first, ::GoTop(), ) ) CANCEL

METHOD GoTop() CLASS CadFuncFerias
   SELE 43
   GO TOP
return nil
 


Tirei o UseDB() Obrigada pela dica ;)
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Problema com o Browse

Mensagempor Daiane » 05 Abr 2016 15:00

Poxa,eu consegui resolver mas ainda não entendi como

era assim:
DEFINE DIALOG ::DlgFaltas RESOURCE "#1160" OF ::oChild ICON oIcon;
   TITLE "Histórico de Faltas"

Com a correção passou a ser assim:
DEFINE DIALOG ::DlgFaltas RESOURCE "#1160" OF ::oDlg ICON oIcon;
   TITLE "Histórico de Faltas"
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Problema com o Browse

Mensagempor Kapiaba » 06 Abr 2016 14:41

Simples,

::oChild   // Janela filha - window 


::oDlg  // dialogo - DIALOG - se não era uma Janela, porque referencia-la?
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1477
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 284 vezes
Mens.Curtidas: 89 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro