Disculpa la confusión...
No quise hechar todo el cuento por que no me parecía necesario, pero ya veo que sí :-)
Los datos se encuentran en formato dBASE III en un servidor Novell NetWare, compartidos a través de la unidad de red M:\, el programa en Delphi 7 y la base de datos InterBase 6.5 se encuentran en la estación de trabajo.
¿Por que este enredo...? ¿Por que no usar IB y punto? muy simple, estamos en un periodo de transición, estamos pasando de Clipper 5.01 y dBase III a Delphi 7 e InterBase 6.5. Los datos siguen en los DBF del servidor y seguirán así por un tiempo, la base de datos IB almacena los datos temporalmente pues al entrar al modulo lo primero que se hace es borrar las tablas respectivas y llenarlas con los archivos DBF correspondientes. Para esto utilizo componentes ADO (para los DBF) y IBX (para InterBase).
Ahora mi pregunta es ¿cual de los dos componentes genera el mensaje deadlock? no recuerdo haber tocado propiedades de ningun componentes de acceso a bases de datos (ni ADO ni IBX). El modulo funcionaba bien y de buenas a primeras apareció el error... un error que ya no veo (el modulo está terminado y funciona perfectamente, pero tuve que retrocer).
Inclusive en fases de pruebas anteriores se ejecutaba el programa hecho en Clipper y el programa en Delphi, ambos en diferentes estaciones accesando a los mismos archivos DBF en la unidad M:\ del servidor NetWare, y funcionaba perfectamente bien. Por eso estaba asumiendo que el error estaba en los IBTable o en el IBDatabase
Estoy preguntando todo esto por que sería fatal que en el futuro volviera a aparecer el mismo error y me viese obligado a reescribir codigo.
__________________
"Nadie es perfecto" (Don Nadie)
|