oribeiro Posted July 29, 2013 Report Share Posted July 29, 2013 Pessoal, Minha aplicao estdando uns erros intermitentes tolos, do tipo: EXEMPLOS: (1) Aplicacao ========= Aplicativo........: d:\sist\integr\mvend.exe Versao............: 22.07.2013 Tamanho...........: 3.058.688 bytes Maximo de arquivos: SetHandleCount( 0 ) Erro ocorrido em..: 29/07/2013 as 15:29:40 horas Computador\Usuario: SERVTERM\ipawin\ELLEN Descricao do erro.: Erro DBFCDX/1020 Data type error Sequencia de erros ================== Programa: NEWITEM Linha: 1809 Programa: (b)C_CEST Linha: 456 Na linha 1809 tem o comando: CAIFORMATO[2] := (cDbfForm)->FORMATO (2) Aplicacao ========= Aplicativo........: D:\sist\integr\mvend.exe Versao............: 29.07.2013 Tamanho...........: 3.059.200 bytes Maximo de arquivos: SetHandleCount( 0 ) Erro ocorrido em..: 29/07/2013 as 14:25:10 horas Computador\Usuario: WIN-EK6GS1FGHP1\Mayara\ADMIN Descricao do erro.: Erro BASE/1003 Variable does not exist: QTMOV Sequencia de erros ================== Programa: DEL_MOV Linha: 3483 Programa: APAGA_MOV Linha: 892 Nessa linha do programa esto comando (REPLACE abaixo): Select(xDbMov) If RLock() REPLACE QTMOV WITH xQtMov Não consigo reproduzir esses erros na minha rede, nem está acontecendo em todos os clientes, mas s intermitentes. Muito estranho!!! Alguém já passou por isso? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 29, 2013 Report Share Posted July 29, 2013 Descricao do erro.: Erro DBFCDX/1020 Data type error http://www.pctoledo.com.br/forum/viewtopic.php?f=1&t=3527 Descricao do erro.: Erro BASE/1003 Variable does not exist: QTMOV http://www.pctoledo.com.br/forum/viewtopic.php?p=21439&sid=abbafc935573ad2fef69dee69bed13c8 Quote Link to comment Share on other sites More sharing options...
Yury Posted July 30, 2013 Report Share Posted July 30, 2013 Olá me parece que os erros acima listados ocorrem pq está utilizando uma área diferente, por causa de "Select(xDbMov)" , pois vc está usando sem o ponteiro ( -> ) coloque na sua rotina que documenta os erros para salvar/exibir qual o ALIAS atual que está em uso e a estrutura do arquivo associado a este ALIAS (dbstruct) isso vai auxiliar vc a identificar oq está ocorrendo Abraço Quote Link to comment Share on other sites More sharing options...
mkyx Posted July 30, 2013 Report Share Posted July 30, 2013 Data type error Ocorre quando tentamos gravar um campo com um conteúdo diferente do especificado na estrutura do arquivo. Exemplo: gravar num campo tipo data um conteúdo ou variável caracter, gravar mum campo numérico, um conteúdo alfanumérico ou vice-versa. Analise os dados que estão sendo gravados nos campos, exibindo na tela o conteúdo e o tipo do dado que está sendo gravado. DICA: ? CAMPO,TYPE("CAMPO") REPLACE ALIAS->NOME_DO_CAMPO WITH CAMPO Espero ter ajudado. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Amigos, O problema é que a rotina roda normalmente e apenas "de vez em quando" dá esses tipos de erro, notei agora que isso está acontecendo apenas em servidores com Windows 2003 Server, com terminal server. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Vejam, por favor, que estranho:Erro no sistema=============== Aplicativo........: d:\sist\integr\MVEND.EXE Versao............: 22.07.2013 Tamanho...........: 3.058.688 bytes Erro ocorrido em..: 31/07/2013 as 08:22:36 horas Computador\Usuario: SERVERMAQ\win01\JUNIOR Descricao do erro.: Erro DBCMD/2001 Workarea not in use: RLOCKSequencia de erros================== Programa: FNRLOCK Linha: 2789Vejam essa funcao=================********************************************************************************************FUNCTION FnRLOCK********************************************************************************************Local fLock := .T.Local nTempo := 0Local cDbfPARAM fEsc // Permite escaparDEFAULT fEsc := .F.IF !USED() fLock := .F. MsgAlert("O Arquivo n estaberto para eu bloquear o registro.","Funo: FnRlock()")ELSE cDbf := ALIAS() fLock := .T. nTempo := 0 WHILE !(cDbf)->(RLOCK()) /// ====>>>> ESSA A LINHA ((( 2789 ))) <<<<==== if !fEsc nTempo++ SysWait(1) if nTempo=5 nTempo=0 MsgBeep() MsgAlert("O Registro ("+(cDbf)->(DBF())+") estsendo atualizado por outro!"+chr(13)+chr(13)+"Solicite que o registro seja libera do antes de continuar.","Ateno") endif else MsgBeep() MsgStop("O Registro ("+(cDbf)->(DBF())+") estsendo atualizado por outro.","N posso continuar") fLock=.F. EXIT endif ENDDOENDIFRETURN(fLock)Não é estranho? Eu verifiquei que o arquivo estava aberto com USED() e ainda assim, de vez em quando dá erro nessa linha. A minha dor de cabe que n acontece com frequência.Aguardo, obrigado. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Vejam esse outro erro: Aplicacao ========= Aplicativo........: D:\Suporte\Sist\sidnei\mvend.exe Versao............: 29.07.2013 Tamanho...........: 3.059.200 bytes Maximo de arquivos: SetHandleCount( 0 ) Erro ocorrido em..: 31/07/2013 as 09:28:34 horas Computador\Usuario: SERVSYS\Neto\ADMIN Descricao do erro.: Erro BASE/1002 Alias does not exist: PPFtProdut Sequencia de erros ================== Programa: FNPESQUISAPRODUT Linha: 5391 Vejam o programa: Select PPFtProdut _Ordem = "Código" Set Order to 1 // Prod Seek oChave if Eof() _Ordem = "Descrição" Set Order to 2 // Descricao Seek oChave if Eof() // ===>>> ESSA É A LINHA 5391 <<<=== _Ordem = "Padrão" Set Order to 3 // Padrao Seek oChave if Eof() _Ordem = "Código de Barras" Set Order to 4 // CodBar Seek oChave if Eof() _Ordem = "Fornecedor + Descrição" Set Order to 5 // Fornecedor Seek oChave endif endif endif endif Não dá para entender. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 Experimente este teste aqui para ver a reacao do seu sistema em rede. Troque o Nome dos BANCOS para os seus... FUNCTION VER_SE_ABRE_BANCOS() IF .NOT. FILE( "CADNFE.DBF" ) .OR. .NOT. FILE( "CADCESVE.DBF" ) .OR. ; .NOT. FILE( "ICESVE.CDX" ) .OR. NETERR() MsgStop( OemToAnsi( "ATEN€ÇO USUµRIO: " )+CRLF+ ; OemToAnsi( "PROBLEMAS NA REDE DE COMPUTADORES. " )+CRLF+ ; OemToAnsi( "IMPOSSIVEL ABRIR BANCO DE DADOS. " )+CRLF+ ; OemToAnsi( "VERIFIQUE SUAS CONEXåES DE REDE. " )+CRLF+ ; OemToAnsi( "O SEU COMPUTADOR NÇO CONSEGUE CONEXÇO " )+CRLF+ ; OemToAnsi( "COM O SERVIDOR DE ARQUIVOS. " )+CRLF+ ; OemToAnsi( "TENTE: DESLIGUE E RELIGUE O SEU COMPUTA" )+CRLF+ ; OemToAnsi( "DOR PELO <BOTÇO> DE DESLIGAR. " )+CRLF+ ; OemToAnsi( "ESPERE 10 SEGUNDOS E RELIGUE-O. " )+CRLF+ ; OemToAnsi( "SE MESMO ASSIM CONTINUAR ESTA MENSAGEM," )+CRLF+ ; OemToAnsi( "RETIRE TODOS OS USUµRIOS DA REDE E, " )+CRLF+ ; OemToAnsi( "TENTE: DESLIGUE E RELIGUE O SERVIDOR DE" )+CRLF+ ; OemToAnsi( "ARQUIVOS ONDE ESTµ INSTALADO O PROGRAMA" )+CRLF+ ; OemToAnsi( "REINDEXAR TODOS OS ARQUIVOS DO PROGRAMA" )+CRLF+ ; OemToAnsi( "SE MESMO ASSIM CONTINUAR ESTA MENSAGEM," )+CRLF+ ; OemToAnsi( "CHAME O SEU TCNICO DE REDES(T.I.). " ), ; OemToAnsi( "Erro Fatal de Rede - Verifique Sua Rede" ) ) DBCLOSEALL() QUIT ENDIF RETURN( .T. ) Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted July 31, 2013 Report Share Posted July 31, 2013 O erro do cDbf...... não deveria estar !(&(cDbf)->(RLock())) ? Quanto ao erro do PPFtProdut Será que a linha não foi no Select PPFtProdut ? Coloque uma mensagem antes de dar este erro para ver os Alias abertos ?valtoprg( aGetWorkAreas() ) Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Estou usando o xHarbour 1.0.0 Simplex + BCC55 + FWH 8.08 Acham que esses erros podem estar relacionados com a versão do xHarbour ou do BCC55 ? Aguardo, obrigado. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Agradeço seus comentários, mas, veja que em ambos os casos o arquivo está aberto, já executou funções nele ( veja as linhas que antecedem ao erro ) e eu não consigo reproduzir esse arquivo aqui no meu servidor. Ele acontece ( de vez em quando ) nos clientes. No caso do PPFTProduto, a rotina mostra que foi dado o Select no arquivo, executados o cinco comandos nele (setorder, seek, eof(), setorder, seek) e no próximo comando eof() que deu erro, mas nem sempre esse erro dá nessa mesma linha. Rapaz, estou ficando doido. (risos). Obrigado, aguardo suas ponderações. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 if Eof() // ===>>> ESSA É A LINHA 5391 <<<=== Toque por: IF .NOT. FOUND()) // ===>>> Para ver a reação... Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 Erro BASE/1002 Alias does not exist: PPFtProdut Como está seu FLAG de compilação? /M/N ?? Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 HARBOURFLAGS = -m -w0 CFLAG1 = -OS $(CFLAGS) -d -c -L$(HB_DIR)\lib;$(FWH)\lib CFLAG2 = -I$(HB_DIR)\include;$(CC_DIR)\include RFLAGS = LFLAGS = -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -aa -L$(FWH)\lib IFLAGS = LINKER = ilink32 ALLOBJ = c0w32.obj $(OBJFILES) $(OBJCFILES) ALLRES = $(RESDEPEN) ALLLIB = $(LIBFILES) import32.lib cw32.lib .autodepend #DEPENDS #COMMANDS .cpp.obj: $(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $** .c.obj: $(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $** .prg.obj: $(HB_DIR)\bin\harbour -D__EXPORT__ -n -go -I$(HB_DIR)\include $(HARBOURFLAGS) -I$(FWH)\include -o$* $** .rc.res: $(CC_DIR)\BIN\brcc32 $(RFLAGS) $< #BUILD Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 xHarbour 1.2.3 Intl. (SimpLex) (Build 20130326) Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/ Syntax: c:\XHARBOUR1303\bin\harbour.exe <file[s][.prg]> [options] Options: /a automatic memvar declaration /b debug info /build display detailed version info /credits display credits /d<id>[=<val>] #define <id> /es[<level>] set exit severity /ex create public function list (.xbx) /g<type> output type generated is <type> (see below) /gc[<type>] output type: C source (.c) (default) <type>: 0=compact 1=normal 2=verbose (default) 3=generate real C code /go output type: Platform dependant object module /gh output type: Harbour Portable Object (.hrb) /i<path> #include file search path /j[<file>] output i18n support [to <file>] to .hil /k compilation mode (type -k? for more data) /l suppress line number information /m compile module only /n[<type>] no implicit starting procedure (default) <type>: 0=no implicit starting procedure 1=no starting procedure at all 2=force application starting procedure /o<path> object file drive and/or path /p[o<path>] generate pre-processed output (.ppo) file in <path> /pt[o<path>] generate pre-processor trace (.ppt) file in <path> /q quiet /q0 quiet and don't display program header /s syntax check only /u[[+]<file>] use command def set in <file> (or none) /undef:<id> #undef <id> /v variables are assumed M-> /vd external functions are assumed as dynamic functions /w[<level>] set warning level number (0..3, default 1) /x[<prefix>] set symbol init function name prefix (for .c only) /z suppress shortcutting (.and. & .or.) @<file> compile list of modules in <file> xHarbour 1.2.3 Intl. (SimpLex) (Build 20130326) Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/ Syntax: c:\XHARBOUR1303\bin\harbour.exe <file[s][.prg]> [options] Options: /a automatic memvar declaration /b debug info /build display detailed version info /credits display credits /d<id>[=<val>] #define <id> /es[<level>] set exit severity /ex create public function list (.xbx) /g<type> output type generated is <type> (see below) /gc[<type>] output type: C source (.c) (default) <type>: 0=compact 1=normal 2=verbose (default) 3=generate real C code /go output type: Platform dependant object module /gh output type: Harbour Portable Object (.hrb) /i<path> #include file search path /j[<file>] output i18n support [to <file>] to .hil /k compilation mode (type -k? for more data) /l suppress line number information /m compile module only /n[<type>] no implicit starting procedure (default) <type>: 0=no implicit starting procedure 1=no starting procedure at all 2=force application starting procedure /o<path> object file drive and/or path /p[o<path>] generate pre-processed output (.ppo) file in <path> /pt[o<path>] generate pre-processor trace (.ppt) file in <path> /q quiet /q0 quiet and don't display program header /s syntax check only /u[[+]<file>] use command def set in <file> (or none) /undef:<id> #undef <id> /v variables are assumed M-> /vd external functions are assumed as dynamic functions /w[<level>] set warning level number (0..3, default 1) /x[<prefix>] set symbol init function name prefix (for .c only) /z suppress shortcutting (.and. & .or.) @<file> compile list of modules in <file> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 http://forums.fivetechsupport.com/viewtopic.php?f=2&t=23941&p=136490&hilit=HARBOURFLAGS#p136490 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=3674&p=16155&hilit=HARBOURFLAGS#p16155 Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Kapiaba, Agradeço a sua ajuda, os meus flags estão iguais ao sugerido nos links que você postou: HARBOURFLAGS = -m -w0 Quote Link to comment Share on other sites More sharing options...
oribeiro Posted July 31, 2013 Author Report Share Posted July 31, 2013 Pode ser algum problema do xHarbour 1.0.0 ou do BCC 55 ? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 31, 2013 Report Share Posted July 31, 2013 Pode ser algum problema do xHarbour 1.0.0 ou do BCC 55 ? Este xHarbour 1.0.0 é o que veio com a sua versão do FIVEWIN? http://comments.gmane.org/gmane.comp.lang.xharbour.devel/582 http://xa.yimg.com/kq/groups/10024680/667166844/name/atual.bc Quote Link to comment Share on other sites More sharing options...
kleyber Posted July 31, 2013 Report Share Posted July 31, 2013 Agradeço seus comentários, mas, veja que em ambos os casos o arquivo está aberto, já executou funções nele ( veja as linhas que antecedem ao erro ) e eu não consigo reproduzir esse arquivo aqui no meu servidor. Ele acontece ( de vez em quando ) nos clientes. No caso do PPFTProduto, a rotina mostra que foi dado o Select no arquivo, executados o cinco comandos nele (setorder, seek, eof(), setorder, seek) e no próximo comando eof() que deu erro, mas nem sempre esse erro dá nessa mesma linha. Rapaz, estou ficando doido. (risos). Obrigado, aguardo suas ponderações. Oscar, Passe o dbf explicitamente para a função, tipo FUNCTION FnRLOCK(teuDBF) E verifique dentro da função se o conteúdo de teuDBF contém o alias do dbf. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted August 1, 2013 Author Report Share Posted August 1, 2013 Kleyber, Fiz isso e o erro persiste e é intermitente. Respondendo à pergunta do Kapiaba, o xHarbour 1.0.0 é o que veio com o FWH. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 1, 2013 Report Share Posted August 1, 2013 Kleyber, Fiz isso e o erro persiste e é intermitente. Respondendo à pergunta do Kapiaba, o xHarbour 1.0.0 é o que veio com o FWH. Se o xHarbour é desta versão, não acho que o problema seja do compilador. Pergunta: Este erro ocorre em modo REMOTO ou LOCAL? Ocorre com windows XP e windows 7? Tá dureza... Quote Link to comment Share on other sites More sharing options...
evertonlb Posted August 1, 2013 Report Share Posted August 1, 2013 Cara.. tu já experimentou trocar de servidor? Colocar numa outra máquina com o mesmo Win, e depois colocar em outra com uma versão diferente? Tu disse que o erro é "randômico", fica trocando de lugar(?!?!) já verificou a máquina??? Já tive problemas semelhantes e o culpado era superaquecimento do servidor! Troca de cooler, ventilação do Rack e pasta térmica resolveram tudo! Att. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted August 5, 2013 Author Report Share Posted August 5, 2013 O erro está acontecendo em clientes diferentes, em momentos diferentes do programa, mas a maioria está com Windows 2003 Server.Vejam esse novo:Aplicacao=========Aplicativo........: \\servidor2\C\Sist\INTEGR\MVEND.EXEVersao............: 22.07.2013Tamanho...........: 3.058.688 bytesErro ocorrido em..: 05/08/2013 as 08:51:09 horasComputador\Usuario: AUTO-86A426861C\Sai\ADMIN Descricao do erro.: Erro GPFHANDLER/0 EXCEPTION_ACCESS_VIOLATION - O thread tentou ler/escrever num endereço virtual ao qual não tinha acesso.: GPFHANDLER Sequencia de erros================== Programa: PRINTPRV Linha: 1191 Programa: PRINTPAGE Linha: 1128 Programa: (b)BUILDMENU Linha: 381 Programa: TMENU:COMMAND Linha: 416 Programa: TWINDOW:COMMAND Linha: 1002 Programa: _FWH Linha: 3300 Programa: TDIALOG:ACTIVATE Linha: 270 Programa: L_BOLC Linha: 262 Programa:(b)BUILDMENU Linha: 645 Programa: TMENU:COMMAND Linha: 416 Programa: TWINDOW:COMMAND Linha: 1002 Programa: TMDIFRAME:COMMAND Linha: 241 Programa:_FWH Linha: 3300 Programa: TMDIFRAME:ACTIVAT Linha: 951 Programa: MAIN Linha: 323 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 5, 2013 Report Share Posted August 5, 2013 http://fivetechsupport.com/forums/viewtopic.php?f=6&t=22745 http://www.pctoledo.com.br/forum/viewtopic.php?f=20&t=13720&start=15 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=12645&p=66531&hilit=GPFHANDLER#p66531 O que faz este programa? Pega alguma imagem? Tipo .BMP ou .JPG? Programa: PRINTPRV Linha: 1191 ??? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.