betovsp Posted June 23, 2004 Report Share Posted June 23, 2004 Olá mestres, Tenho a rotina abaixo, onde quantidade "qtde" hoje é Caracter tamanho 4, já mudei pra numérico e quando entro com dados, continua dando o mesmo erro. Tenho outra rotina igual a essa praticamente que não dá erro. Vcs podem me dar uma luz. dbSelectArea("Os2") OrdScope(0,vcod) OrdScope(1,vcod) Os2->(dbGoTop()) @ 6,3 BROWSE oBrwOse SIZE 300,58 CELLED PIXEL ALIAS Os2 OF oFld:aDialogs[7] COLOR nRgb(0,0,0),nRgb(235,225,205) ADD COLUMN TO oBrwOse HEADER "Qtde" DATA {|uVar| If(uVar==NIL,Os2->qtde,; IF(!EMPTY(uVar),Inclusao(uVar),; IF(oBrwOse:lAppendMode,(oBrwOse:skip(-1),oBrwOse:Refresh(.T.)),NIL)))}; PICTURE "9999" SIZE 45 PIXEL 3DLOOK FALSE EDITABLE MOVE DT_MOVE_RIGHT ADD COLUMN TO oBrwOse HEADER "Descrição" DATA FieldWBlock("desc",Select()); PICTURE "@!" VALID {|uVar| !Empty(uVar)} EDITABLE MOVE DT_MOVE_RIGHT 3DLOOK FALSE SIZE 480 PIXEL ADD COLUMN TO oBrwOse HEADER "Valor" DATA FieldWBlock("vrpc",Select()); PICTURE "@E 999,999.99" VALID {|uVar| uVar>0} SIZE 80 PIXEL 3DLOOK FALSE COLOR nRgb(0,0,0),nRgb(235,225,205) EDITABLE MOVE DT_MOVE_NEXT oBrwOse:SetDeleteMode(.T.,.T.) oBrwOse:SetAppendMode(.T.) oBrwOse:nHeightCell+=6 oBrwOse:nHeightHead+=3 oBrwOse:lNoHScroll:=.T. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 23, 2004 Report Share Posted June 23, 2004 Grande amigo. Com certeza a rotina não é igual , por que se fosse estaria dando o mesmo erro ( Brincadeira. Corruption detected: o seu arquivo de dados ou um de seus indices esta corrompido , passe a linha que deu o erro para podermos melhor ajuda-lo Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 23, 2004 Author Report Share Posted June 23, 2004 Como vai MaurÃcio, também acho isso, mas, já fiz a reorganização e continua dando o problema. Abaixo o log de erro. Abraços. Application =========== Path and name: C:\PONTOB\PB.dwd Size: 0 bytes Max files handles permited: ( SetHandleCount() ) 100 Error ocurred at: 23/06/2004, 14:27:28 Error description: Error _DBFCDX/8006 Corruption detected: COD Stack Calls =========== Called from LOCKERRHAN(0) Called from (b)INITHANDL$(0) Called from __QUIT(0) Called from ERRORDIALO(0) Called from (b)ERRORSYS(0) Called from LOCKERRHAN(0) Called from (b)INITHANDL$(0) Called from DBORDERINF(0) Called from ORDKEYNO(0) Called from (b)RESETBARPO(0) Called from TSBROWSE:NLOGICPOS(4402) Called from TSBROWSE:POSTEDIT(5933) Called from TSBROWSE:EDITEXIT(2939) Called from (b)LEDITCOL(4992) Called from TSGET:KEYDOWN(122) Called from TSGET:HANDLEEVEN(0) Called from TSGET:HANDLEEVEN(384) Called from DIALOGBOXI(0) Called from TDIALOG:ACTIVATE(0) Called from EDITA(434) Called from (b)MENUPOP(483) Called from TMENU:COMMAND(0) Called from TSBUTTON:COMMAND(0) Called from TSBUTTON:HANDLEEVEN(0) Called from TSBUTTON:HANDLEEVEN(1007) Called from SYSREFRESH(0) Called from TMENU:ACTIVATE(0) Called from MENUPOP(492) Called from (b)MATOSE(68) Called from TSBUTTON:LBUTTONDOW(1075) Called from TSBUTTON:HANDLEEVEN(0) Called from TSBUTTON:HANDLEEVEN(1007) Called from DIALOGBOXI(0) Called from TDIALOG:ACTIVATE(0) Called from MATOSE(91) Called from (b)INICIO(64) Called from TSBUTTON:LBUTTONDOW(1100) Called from TSBUTTON:HANDLEEVEN(0) Called from TSBUTTON:HANDLEEVEN(1007) Called from WINRUN(0) Called from TWINDOW:ACTIVATE(0) Called from INICIO(71) Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 23, 2004 Report Share Posted June 23, 2004 caro beto. Poste como faz os indices do arquivo e a linha do fonte que esta dando erro ou se possivel toda a parte da atualizacao. Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 23, 2004 Author Report Share Posted June 23, 2004 Eu de novo Mauricio. o erro acontece quando entro nesta função: STATIC FUNCTION Inclusao(uVar) while !RecLock(10) ; END Os2->codo:=vcod Os2->qtde:=uVar Os2->(dbUnLock()) RETURN(.T.) e uso Ãndice assim: oTxt1:SetText("Arquivo de Ordens de Serviço - Peças") USE DADOS\arqos2 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON codo TAG cod EVAL (oMetCdx:Set(RecNo()),SysRefresh(),CursorWait()) onde codo é C 6 e vcod, é o número da ordem de serviço que carrego quando entro na tela. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 23, 2004 Report Share Posted June 23, 2004 Eu Tenho esse problema quando a chave fica vazia. Tente o strzero(codo,6) Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 23, 2004 Author Report Share Posted June 23, 2004 Mauricio, ontem, zerei o Banco de Dados Os2 e apaguei o indice , e ainda tinha problemas. Zerei novamente, desta vez apaguei o obj e o Ãndice e não deu mais problemas. Vai entender..... Agradeço a ajuda mestre. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 23, 2004 Report Share Posted June 23, 2004 Isso me Acontece muito , principalmente com o windows , quando os clientes nao tem paciencia de esperar , aquela M do scandisk. Tanto que quando vou fazer uma indexacao , copio o arquivo com outro nome apago o original e renomeio o arquivo copiado para poder otmiza-lo. As vezes um pedaço do arquivo cai em uma area de Cluster Ruim. Abraço Mauricio (RJ) 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.