Page 1 of 1

How to solve "DBFCDX/1012 Corruption detected"

Posted: Wed Dec 29, 2010 3:56 am
by huangchenmin
The error message "DBFCDX/1012 Corruption detected" keep displaying while I try to
use \visw\CO08D alias CO08D new //VIA "DBFCDX" index \visw\CO08D share new
It is normal when I use DBF without index file.
According to reference, the error message represents improper use of the RDD, or there may be MEMO fields associated with the .dbf file that were not changed to .fpt format. But there is no MEMO fields in thid DBF file.
90% due to improper use of the RDD,I guess.
PLS HELP
Best Regards
chen min

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Wed Dec 29, 2010 8:18 am
by nguyenchiduc
Please help me how to read .idx of Foxpro in the Harbour
What HMG version can be read ?

Image

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Thu Dec 30, 2010 1:27 am
by danielmaximiliano
Hi nguyenchiduc and huangchenmin
borrar los archivos .idx , hacer una nueva copia de los archivos .dbf para crear los archivos .FPT memo
transalate google:
delete the files. idx, make a new copy of the files. dbf to create the files. FPT memo

Code: Select all

* Harbour MiniGUI IDE Two-Way Form Designer Generated Code
* (c)2004-2009 Roberto Lopez <harbourminigui@gmail.com>
* http://harbourminigui.googlepages.com
#include <hmg.ch>

FUNCTION Main

        // Database driver.
       * REQUEST DBFCDX , DBFFPT

DEFINE WINDOW Win_13 AT 100 , 99 WIDTH 550 HEIGHT 400 ;
       TITLE "Mantenimiento del sistema Rocar 2010" ;
       ICON "Tools.ico"  ;
       MAIN;
        FONT "Arial" SIZE 12

    DEFINE LABEL Etiqueta1
        ROW    10
        COL    10
        WIDTH  520
        HEIGHT 30
        VALUE "Reindexaciòn de Todos los Archivos del Sistema"
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        CENTERALIGN .T. 
    END LABEL

    DEFINE LABEL Etiqueta2
        ROW    50
        COL    20
        WIDTH  510
        HEIGHT 20
        VALUE "Importante : Para Ejecutar este proceso NO DEBE estar ningùn"
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
    END LABEL

    DEFINE LABEL Etiqueta3
        ROW    90
        COL    10
        WIDTH  520
        HEIGHT 20
        VALUE "Usuario conectado al Sistema."
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        CENTERALIGN .T. 
    END LABEL

    DEFINE LABEL Etiqueta4
        ROW    120
        COL    20
        WIDTH  520
        HEIGHT 30
        VALUE "Este Proceso Reconstruye los Indices de los Archivos del Sistema"
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
    END LABEL

    DEFINE LABEL Etiqueta5
        ROW    160
        COL    10
        WIDTH  520
        HEIGHT 20
        VALUE "Utilizar en caso de que falle algùn Indice de un Archivo."
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        CENTERALIGN .T. 
    END LABEL

    DEFINE LABEL Etiqueta6
        ROW    200
        COL    10
        WIDTH  520
        HEIGHT 30
        VALUE "N O   D E B E    I N T E R R U M P I R   E S T E   P R O C E S O"
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        CENTERALIGN .T. 
    END LABEL

    DEFINE LABEL Etiqueta7
        ROW    230
        COL    10
        WIDTH  520
        HEIGHT 30
        VALUE "En caso de Interrumpirse ejecute el proceso Nuevamente."
        FONTNAME "Arial"
        FONTSIZE 12
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        VISIBLE .T.
        TRANSPARENT .F.
        ACTION Nil
        AUTOSIZE .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        CENTERALIGN .T. 
    END LABEL

    DEFINE BUTTON OK
        ROW    270
        COL    130
        WIDTH  100
        HEIGHT 28
        ACTION acepta10()
        CAPTION "Ok"
        FONTNAME "Arial"
        FONTSIZE 10
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        HELPID Nil
        FLAT .F.
        TABSTOP .T.
        VISIBLE .T.
        TRANSPARENT .F.
        MULTILINE .F.
        PICTURE "Ok.ico"
        PICTALIGNMENT TOP
    END BUTTON

    DEFINE BUTTON Cancela
        ROW    270
        COL    310
        WIDTH  100
        HEIGHT 28
        ACTION Sale1()
        CAPTION "Cancela"
        FONTNAME "Arial"
        FONTSIZE 10
        TOOLTIP ""
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        HELPID Nil
        FLAT .F.
        TABSTOP .T.
        VISIBLE .T.
        TRANSPARENT .F.
        MULTILINE .F.
        PICTURE "Cancel.ico"
        PICTALIGNMENT TOP
    END BUTTON

DEFINE PROGRESSBAR Progreso_indice
        ROW    80
        COL    30
        WIDTH  490
        HEIGHT 30
        RANGEMIN 1
        RANGEMAX 26
        VALUE 0
        TOOLTIP ""
        HELPID Nil
        VISIBLE .F.
        SMOOTH .F.
        VERTICAL .F. 
        BACKCOLOR Nil
        FORECOLOR Nil
    END PROGRESSBAR
    
DEFINE LABEL etiqueta20
		ROW 150
		COL 80
		WIDTH 350
		HEIGHT 20
		VALUE ""
		FONTNAME "Arial"
        VISIBLE .F.
		FONTSIZE 10
		TOOLTIP ""
		FONTBOLD .T.
		TRANSPARENT .T.
		CENTERALIGN .T.
	END LABEL

	ON KEY ESCAPE ACTION Sale1()

END WINDOW

CENTER WINDOW Win_13
ACTIVATE WINDOW Win_13

Return Nil

PROCEDURE Sale1
Win_13.Release
RETURN NIL


*------------------------------------------------------------------------------*
Procedure P(posx , xFile )
*------------------------------------------------------------------------------*

	Win_13.Progreso_indice.Value := Posx
	Win_13.etiqueta20.Value      := "Procesando Tabla "+xFile

Return Nil
        
*------------------------------------------------------------------------------*
PROCEDURE ACEPTA10
*------------------------------------------------------------------------------*

 
 Win_13.ok.Hide
 Win_13.Cancela.Hide
 Win_13.Etiqueta1.Visible:=.f.
 Win_13.Etiqueta2.Visible:=.f.
 Win_13.Etiqueta3.Visible:=.f.
 Win_13.Etiqueta4.Visible:=.f.
 Win_13.Etiqueta5.Visible:=.f.
 Win_13.Etiqueta6.Visible:=.f.
 Win_13.Etiqueta7.Visible:=.f.
 Win_13.Cancela.Enabled:=.t.
 Win_13.Cancela.Col:=120
 Win_13.Progreso_indice.Visible:=.T.
 Win_13.Etiqueta20.Visible:=.T.
 marca:= 1
 set exclusive on
 

 use TABLA001 
  p(1,"TABLA001")
  if (marca == 3)      
   DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
   pack
  endif
  COPY TO tabla00100 VIA "DBFCDX" 
 return nil  
 use TABLA002 VIA "DBFCDX" 
  p(2,"TABLA002")
       if (marca == 3)
        DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
  index on STR(BNUMEROT,3) to TAB01002
  
use TABLA003 VIA "DBFCDX" 
  if (marca == 3)
   MODIFY CONTROL Etiqueta_change OF Indexa FONTCOLOR {0,0,255}
   p(3,"TABLA001")
   DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
   pack
  endif
     
 use TABLA004 VIA "DBFCDX" 
  p(4,"TABLA004")
     if (marca == 3)
         DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
      index on STR(BCOMPANI,4) + STR(BPRODUCT,6) + STR(BPLANPAG,4) + STR(BMONEDAT,4) + STR(BCLAVE01,4) + STR(BCLAVE02,4) to TAB01004

 use TABLA005 VIA "DBFCDX" 
  p(5,"TABLA005")
    if (marca == 3)
         DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
   index on STR(BCOMPANI,4) + STR(BPRODUCT,6) + STR(BPLANPAG,4) + ;
   STR(BMONEDAT,4) + STR(BCLAVE01,4) + STR(BCLAVE02,4) + ;
   STR(BCLAVE03,4) + STR(BCLAVE04,4) to TAB01005
   
 use TABLA006 VIA "DBFCDX" 
    p(6,"TABLA006")
      if (marca == 3)
         DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
    index on STR(BCOMPANI,4) to TAB01006

  if (file("TABLA200.DBF") = .T.)
   use TABLA200 VIA "DBFCDX"  
    p(7,"TABLA200")
    index on STR(BNUMEROT,3) + STR(BCLAVE01,4) to TAB01200
   endif
 
 use TABLA900 VIA "DBFCDX" 
     p(8,"TABLA900")
     index on BUSUT900 to TAB01900
 
 use PRODUC01 VIA "DBFCDX" 
    p(9,"PRODUC01")
      if (marca == 3)
         DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
     index on STR(BPRODUCT,6) to PRO01001
     index on BAPELLID + BNOMBREP to PRO02001

 use ASEGUR01 VIA "DBFCDX" 
   p(10,"ASEGUR01")
      if (marca == 3)
         DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
         pack
      endif
      index on STR(BASEGURA,6) to ASE01001
      index on BAPELLID + BNOMBREA to ASE02001
      index on STR(Bproduct,10) to MATRI
      index on val(BCUIT) to DOCU

   if (file("ASEGUR05.DBF"))
    p(11,"ASEGUR05")
    use ASEGUR05 VIA "DBFCDX" 
    index on STR(BASEGURA,6) + str(BCOMPANI,4) to ASE01005
    close
   endif
      
 use POLIZA01 VIA "DBFCDX" 
    p(12,"POLIZA01")
     if (marca >= 2)
       DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
       pack
     endif
      index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5)  + STR(BNUMINEN,5) to POL01001
      index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BPOLIZAN,10) + STR(BENDOSON,10) to POL02001
      index on STR(BMONEDAP,4) + STR(BCOMPANI,2) + STR(BSECCION,2)  + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL03001
      index on STR(BASEGURA,6) + STR(BCOMPANI,2) + STR(BSECCION,2)  + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL04001
      index on STR(BPRODUCT,6) + STR(BMONEDAP,4) + STR(BCOMPANI,2)  + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL05001
      index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BENDOSON,10) to POL06001
      index on     BRECIBO to POL07001
      index on STR(Bpolizan,10) to Poliza
      index on STR(Bendoson,10) to Endoso
      index on STR(BNUMINPO,5)  to Nip
           

 use POLIZA02 VIA "DBFCDX" 
  p(13,"POLIZA02")
    if (marca >= 2)
      DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
      pack
    endif
    index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + ;
     STR(BNUMINEN,5) to POL01002
    
 use POLIZA03 VIA "DBFCDX" 
  p(14,"POLIZA03")
  if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
   endif
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + ;
   STR(BNUMINEN,5) to POL01003
   index on BPATENTE to POL02003
   
 use POLIZA51 VIA "DBFCDX" 
  p(15,"POLIZA51")
  if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
   endif
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5)    + STR(BNUMINEN,5) to POL01051
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BPOLIZAN,10)   + STR(BENDOSON,10) to POL02051
   index on STR(BMONEDAP,4) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL03051
   index on STR(BASEGURA,6) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL04051
   index on STR(BPRODUCT,6) + STR(BMONEDAP,4) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL05051
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BENDOSON,10)  to POL06051
   index on BRECIBO to POL07051

 
 use POLIZA52 VIA "DBFCDX" 
  p(16,"POLIZA52")
   if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
   endif
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL01052

 use POLIZA53 VIA "DBFCDX" 
  p(17,"POLIZA53")
  if (marca >= 2)
     DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
     pack
   endif
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to POL01053
   index on BPATENTE to POL02053
   
 use CONPAG01 VIA "DBFCDX" 
  p(18,"COMPAG01")
  if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
  endif
  index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + BRECIBON + BTIPPAGO to CON01001
  index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2) + STR(DAY(BFECHAPA),2) to CON02001
  index on STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2)      + STR(DAY(BFECHAPA),2) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to CON03001
  index on STR(BMONEDAP,4) + STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2) + STR(DAY(BFECHAPA),2) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to CON04001
  index on BRECIBON to CON05001

 use CONPAG51 VIA "DBFCDX" 
  p(19,"COMPAG51")
   if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
   endif
  index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + BRECIBON + BTIPPAGO to CON01051
  index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2) + STR(DAY(BFECHAPA),2) to CON02051
  index on STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2)      + STR(DAY(BFECHAPA),2) + STR(BCOMPANI,2) + STR(BSECCION,2) +  STR(BNUMINPO,5) + STR(BNUMINEN,5) to CON03051
  index on STR(BMONEDAP,4) + STR(YEAR(BFECHAPA),4) + STR(MONTH(BFECHAPA),2) + STR(DAY(BFECHAPA),2) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to CON04051
  index on BRECIBON to CON05051

 use SINIES01 VIA "DBFCDX" 
  p(20,"SINIES01")
   if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
   endif
   index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(BTIPOSIN,4) + STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) to SIN01001
   index on STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to SIN02001
   index on STR(BTIPOSIN,4) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) to SIN03001
   index on BNUMSINI to SIN04001
   close


 use SINIES51 VIA "DBFCDX" 
  p(21,"SINIES51")
  if (marca >= 2)
    DBEval({|| dbDelete()}, Nil, Nil, Nil, Nil, .F.)
    pack
  endif
  index on STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(BTIPOSIN,4) + STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) to SIN01051
  index on STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) to SIN02051
  index on STR(BTIPOSIN,4) + STR(BCOMPANI,2) + STR(BSECCION,2) + STR(BNUMINPO,5) + STR(BNUMINEN,5) + STR(YEAR(BFECHAOC),4) + STR(MONTH(BFECHAOC),2) + STR(DAY(BFECHAOC),2) to SIN03051
  index on BNUMSINI to SIN04051
  close

 if (file("FACTU001.DBF") = .T.)
         p(22,"FACTU001")
         use FACTU001 VIA "DBFCDX" 
         index on BLETRA + STR(BNUMERO,8) to FAC01001
         index on STR(YEAR(BFECHA),4) + STR(MONTH(BFECHA),2) +  STR(DAY(BFECHA),2) + BLETRA + STR(BNUMERO,8) to FAC02001
         index on STR(BCOMPFAC,2) + STR(BSECCFAC,2) + STR(BNUMIFAC,5) + STR(BNUIEFAC,5) + BRECIBON to FAC03001
         close
      endif

 use CAJAS003 VIA "DBFCDX" 
  p(23,"CAJA003")
  index on STR(LETRA,2) + STR(RECI_BO,7) to CAJ01003
  index on STR(BANCO,3) + STR(YEAR(FECH_A),4) + STR(MONTH(FECH_A),2) + STR(DAY(FECH_A),2) to CAJ02003
  index on STR(BANCO,3) + STR(CHEQUE,10) to CAJ03003
  index on STR(NUMECA,7) to CAJ04003
  index on STR(NUMSAL,7) to CAJ05003
  index on STR(YEAR(FECH_A),4) + STR(MONTH(FECH_A),2) + STR(DAY(FECH_A),2) to CAJ06003
  index on STR(NRO_MOVIMI,7) to CAJ07003
  index on STR(CLIENTE,6) + STR(YEAR(FECH_A),4) + STR(MONTH(FECH_A),2) + STR(DAY(FECH_A),2) to CAJ08003
  close

 use CAJAS009 VIA "DBFCDX" 
  p(24,"CAJA009")
  index on STR(LETRA,2) + STR(NRO_MOVIMI,7) to CAJ01009
  index on STR(YEAR(FECHA),4) + STR(MONTH(FECHA),2) + STR(DAY(FECHA),2) + STR(LETRA,2) to CAJ02009

 if (file("ASEGUR03.DBF") = .T.)
  use ASEGUR03 VIA "DBFCDX" 
   p(24,"ASEGUR03")
   index on STR(BASEGUR,6) to ASE01003
 endif
 
 if (file("SINFUER1.DBF") = .T.)
   USE SINFUER1 VIA "DBFCDX" 
   p(26,"SINFUER1")
   index on STR(BCOMPA,2) + STR(BPOLIZ,10) to SINFUER1
   close
 endif
Win_13.Cancela.Caption:="Salir"
set exclusive off
Sale1()
RETURN Nil

/* USE ARCHIVO1 // sin hacer request del cdx ni nada se abrirá como dbfntx
COPY TO ARCHIVO2 VIA "DBFCDX" */
Saludos / Greetings
DaNiElMaXIMiLiAnO

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Thu Dec 30, 2010 1:52 am
by nguyenchiduc
danielmaximiliano wrote:Hi nguyenchiduc and huangchenmin
borrar los archivos .idx , hacer una nueva copia de los archivos .dbf para crear los archivos .FPT memo
transalate google:
delete the files. idx, make a new copy of the files. dbf to create the files. FPT memo

Saludos / Greetings
DaNiElMaXIMiLiAnO
Thank you
My case is different.

Files .idx on intranet not in my PC. People are still using .idx for FoxPro program has run for so long. Only network administrators can change.

I want to write few programs on the HMG, which does not affect other programs in FoxPro. Writing for end users not for me. Of course merely by HMG and the harbour.

If there is no way, maybe I will study the file structure .idx, and use low-level functions to read. It will probably take more time

Note : 1 file .idx has size nearly 200M

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Thu Dec 30, 2010 2:05 am
by danielmaximiliano
Hi:
Try
Only a note
ads v 9 use visual fox pro 9 data and index and run in win 32-64- and Linux

ADS<9 has provided support for FoxPro tables and CDX/IDX indexes for
a long time, ADS 9 has added full support for Visual FoxPro tables,
including auto-increment, date/time, and VarChar fields. Advantage can
use its proprietary, high-performance locking with Visual FoxPro
tables, but also supports a compatibility mode, permitting legacy
applications that access the Visual FoxPro tables directly to co-exist
with newer, Advantage-based applications. Advantage adds the new
ADS_VFP table type for this support.

Code: Select all

#include "ads.ch"
request ADS
procedure main
 RddSetdefault( "ADS" )
 AdsSetFileType( ADS_CDX )
 RddRegister ( "ADS", 1 )
 AdsSetServerType( ADS_LOCAL_SERVER )

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Thu Dec 30, 2010 8:02 am
by nguyenchiduc
danielmaximiliano wrote:Hi:
Thank you
I search on Google and foud : http://www.ousob.com/ng/rddads/ng21f.php

Code: Select all

For using this RDD you need to have:   
      ACE32.DLL    ( Advantage Client Engine ),   
      AXCWS32.DLL  ( communication layer for remote server ) or   
      ADSLOC32.DLL ( local server )
      You need also to create ace32.lib with the help of implib.exe: implib ace32.lib ace32.dll

      Then build rddads.lib using make_b32.bat or make_vc.bat.

      For building executables don't forget to include the ace32.lib and  rddads.lib in the make file or link script.

      You also need to include in your PRG file following lines:

      REQUEST _ADS
      rddRegister( "ADS", 1 )
      rddsetdefault( "ADS" )
But I don't know to find ACE32.DLL, AXCWS32.DLL ADSLOC32.DLL where they are.

Image

Re: How to solve "DBFCDX/1012 Corruption detected"

Posted: Thu Dec 30, 2010 8:06 pm
by danielmaximiliano