duvida => Corruption Detected

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

duvida => Corruption Detected

Mensagem por negrao »

Mocada , ve se tem algo a ver.
Tenho um servidor windows 2000 professional.
Acessando ele tenho 5 Xp e 2 windows 98.
De uns tempos para ca, comecou a dar esse bendito erro, alguem saberia o que pode ser ?

Ve se tem a ver:

==> meu lnk
NOBELL
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE EXTEND
BLINKER EXE COMPRES 1
#-----
BLINKER OVERLAY OPSIZE 60
BLINKER OVERLAY PAGEFRAME ON
BLINKER OVERLAY THRESHOLD 256
BLINKER CACHE XMS 50%, 1024
BLINKER CACHE EMS 50%, 1024
BLINKER OVERLAY UMB ON
BLINKER PROCEDURE DEPTH 70

Fi teste
FILE CTUSP
FILE __WAIT_B
#-----
FILE CLD.LIB
#-----
LIB DBFCDX, CTP, BLXCLP52, BLXRATEX, SIX2 , OSLIB


===> funcao que cria meus arquivos
//-----------------------------------
FUNCTION ABRE(CARQ,ASTRUCT,AIND,CALIAS,LMEN)
//-----------------------------------
LOCAL BLASTH,OBJERROR,LRET:=.T.,NI,CCAMPO,CIND

WHILE .T.
IF AIND <> NIL
CARQI := SUBS(CARQ,1,LEN(CARQ)-3)+"CDX"
BEGIN SEQUENCE
IF !FILE(CARQ) .AND. !EMPTY(ASTRUCT)
DBCREATE(CARQ,ASTRUCT,'SIXCDX')
DEL(CARQI)
ELSEIF !FILE(CARQ)
LRET:=.F.
ENDIF

IF FILE(CARQ)
IF !EMPTY(SELECT(CALIAS))
&CALIAS->(DBCLOSEAREA())
ENDIF

IF !FILE(CARQI) .AND. !EMPTY(AIND)
DBUSEAREA(.T.,'SIXCDX',CARQ,CALIAS,.F.)
WHILE EMPTY(SELECT(CALIAS))
DBUSEAREA(.T.,'SIXCDX',CARQ,CALIAS,.F.)
ENDDO

FOR NI = 1 TO LEN(AIND)
CCAMPO := AIND[NI,1]
CIND := AIND[NI,2]
INDEX ON &(CCAMPO) TAG &(CIND)
NEXT
&CALIAS->(DBCLOSEAREA())
ENDIF
DBUSEAREA(.T.,'SIXCDX',CARQ,CALIAS,.T.)

IF !EMPTY(AIND)
CIND := AIND[1,2]
SET ORDER TO TAG &CIND
ELSE
DBGOTO(1)
ENDIF
ELSE
LRET:=.F.
ENDIF
RECOVER USING OBJERROR
IF !EMPTY(SELECT(CAlias))
&CAlias->(DBCLOSEAREA())
ENDIF

IF (OBJERROR:SUBSYSTEM = "SIXCDX")
IF (OBJERROR:SUBCODE = 602)
IF (SUBS(OBJERROR:FILENAME,-3) = "CDX")
DEL(OBJERROR:FILENAME)
ENDIF
ENDIF
ENDIF
LOOP
END
ELSE
IF !EMPTY(SELECT(CAlias))
&CAlias->(DBCLOSEAREA())
endif

IF !FILE(CARQ) .AND. !EMPTY(ASTRUCT)
DBCREATE(CARQ,ASTRUCT,'SIXCDX')
ENDIF
DBUSEAREA(.T.,,CARQ,CALIAS,.T.)
ENDIF
EXIT
ENDDO

IF LMEN
MENS()
ENDIF
RETURN(LRET)


Sera que o fato de meu LNK usar DBFCDX e na criacao de meus indices esta SIXCDX isso ta acarretando no erro ?

Obrigado por qualquer ajuda
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Acredito que sim meu caro, verifique também se todos os indices estão sendo abertos junto com os DBF´s.
Só por desencargo: Antes de reindexar vc está deletando o arquivo de indice né ?
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Responder