FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Corrupci贸n archivo MEM
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Corrupci贸n archivo MEM
Posted: Tue Oct 11, 2016 07:14 PM
Buenas noches:

驴 Hay alg煤n m茅todo para averiguar previamente si un archivo MEM est谩 corrupto antes de abrirlo ?
El problema lo tengo porque si abro un archivo MEM y est谩 corrupto, a pesar de tener un TRY - CATCH, me genera un error 9001 "archivo corrupto" y aborta sin m谩s. Hay veces que los archivos MEM se corrompen.

Code (fw): Select all Collapse
聽 聽 聽 聽 TRY
聽 聽 聽 聽 聽restore from ruta additive         && archivo MEM para abrir
聽 聽 聽 聽 聽msginfo('hola mundo')
聽 聽 聽 聽Catch oError
聽 聽 聽 聽 聽msgstop('Error al ABRIR el archivo MEM.','')
聽 聽 聽 聽END TRY


驴 Alguna soluci贸n ? Gracias.
Lorenzo.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Re: Corrupci贸n archivo MEM
Posted: Tue Oct 11, 2016 08:10 PM

Karinha, gracias por contestar, pero tu respuesta no aclara nada.

Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Re: Corrupci贸n archivo MEM
Posted: Thu Oct 13, 2016 10:53 AM

Buenas:

ante el desconocimiento de saber con antelaci贸n si un archivo MEM est谩 corrupto antes de abrirlo, he optado por:
Generar un archivo de control con FCREATE antes de abrir el archivo MEM y eliminarlo justo despues de abrir correctamente el MEM. Si hay problemas y salta un GPF, al volver a entrar al programa hay un condicional al principio que busca si existe el archivo de control. En caso afirmativo elimina el MEM corrupto y lo sustituye por una copia previamente realizada.... y listo.
Es una soluci贸n por ortodoxa porque para el usuario le supone tener que ver este GPF y tener que volver a entrar en el programa.

Un saludo.
LORENZO.

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Corrupci贸n archivo MEM
Posted: Thu Oct 13, 2016 11:11 AM
Hola,

Los .mem los considero mala opcion para almacenar datos. Los abandon茅 en tiempos de Clipper 5. Mejor usar dbfs con registro unico o bien grabar arrays con datos en memos. Esto ultimo tiene una gran potencia puesto que no es necesario crear nuevos campos para nuevos datos.

El error, quiz谩 lo podrias capturar como se explica aqui http://forums.fivetechsupport.com/viewtopic.php?f=6&t=27204&p=151193&hilit=gpf#p151193

S贸lo por si sirve.

Saludos


- EDITADO:

Olvid茅 comentar que otra opci贸n seria, conociendo la estructura del archivo .mem, abrirlo con FOpen() y "recorrer" su estructura, o al menos las "marcas" principales. Rick Spence en alguno de sus libros de Clipper hab铆a descrito la estructura de los archivos .mem.

Continue the discussion