Hola Lepe, lo tengo es una aplicación que cubre el proceso de albaraneado y facturación a partir de pedidos utilizando Delphi 5 y Paradox. Cada vez que se realiza un albarán hai que actualizar el almacén (entre otras cosas) y cada vez que se hace una factura se pasan las líneas de albarán a la tabla de albaranes facturados, se actualiza el acumulado de ventas,...
La aplicación funcionaba correctamente hasta que aumento el número de usuarios, ya que en este momento empezaron a producirse conflictos al trabajar desde varios puestos sobre los mismos productos, produciendose errores en el stockaje, quedaban albaranes a medio facturar, etc.. Todo esto debido a que se producian choques al intentar desde varios puestos actualizar los mismos productos.
Lo que necesito ahora es que si hay una transacción iniciada (tanto por creación de albaranes como de facturas) y llega otra transacción que intente modificar un producto de almacén bloqueado por la primera transacción, esta última se espere hasta que finalice la primera.
En este caso no creo que se produzca un Dead Lock, ya que en ningun caso se va a producir que dos transacciones se bloqueen entre si y el tiempo de duracion de una transacción debería ser de unas pocas milesimas.
Lo de la utilización de los componentes BDE es porque son los que estaba usando con Paradox y al realizar la migración a interbase, si estos me permiten hacer lo que necesito, prefiro usarlo ya que el cambio es más rápido (también acepto sugerencias en esto
).
Gracias por vuestra atención y perdón por la parrafada
.