FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Este sería el código
Los componentes que uso son TIbDatabase, TIbTransaction, TIbTable, TDatasurce, todos están incluidos en un TDatamodule, en dicho TDatamodule tengo dos TibDatabases y a cada uno su TIbTransaction y unas 20 TIbTables con sus 20 TDatasources enlazadas a su TibDatabase correspondiente. IbTransaction está configurado en su Transation Editor de la siguiente manera: Código:
Read_commited Rec Version Nowait En un principio siempre TibDatabase no está conectado, TibTransaction y TibTAble no están activos. Al abrir un formulario cualquiera de los muchos que tengo hago lo siguiente en OnShow: Código:
dat.datamodule1.IbDatabase1.Conected=true; dat.datamodule2.IbDAtabase2.Conected=true; dat.datamodule1.TibTransaction1.Active=true; dat.datamodule2.TibTransaction2.Active=true; dat.datamodule1.IbTable1.Active=true; ... dat.datamodule1.Ibtable4.Active=true; Código:
dat.datamodule1.TIbTransation1.Commit; dat.datamodule1.TibTranssation2.commit; dat.datamodule1.IbTable1.Active=false; ... dat.datamodule1.Ibtable4.Active=false; dat.datamodule1.IbDatabase1.Conected=false; dat.datamodule1.IbDatabase1.Conected=false; dat.datamodule1.TibTransaction1.Active=false; dat.datamodule1.TibTransaction2.Active=false; Bien ahora en el manejo de grabar registro a registro con el Boton Grabar hago lo siguiente: Código:
begin try dat.datamodule1.IbTable1.Append; dat.datamodule1.IbTable1.Fields[0].AsString:=edit1.text; ... dat.datamodule.IbTable1.Fields[20].AsString:=Edit20.text; dat.datamodule.IbTable1.post; Finally dat.Datamodule.IbTransaction1.CommitRetaining; Ahora bien, el programa lo tengo en el PC1, y también en el PC2, PC1 hace de servidor donde tengo los datos, el PC2 está con conectado al PC1 mediente el protocolo de conexión Ip, y tengo acceso a la base de datos del PC1 perfectamente. Si trabajo sólo con el Pc1 todo funciona bien, grabo sin problemas, Si trabajo sólo con el Pc2 todo funciona también bien, grabo, modifico sin problemas y me salgo del programa sin problemas, igual que con el Pc1. Pero si abro el programa con los dos Pc's, a la vez puedo entrar bien, ver informes sin problemas, pero a la hora de modificar o dar de alta un registro o borrar se queda pillado y bloqueado sin posibilidad de avanzar, la idea es de poder modificar en ambos Pc's, que grabara y cerrara la aplicación sin bloquearse o quedar pillado. Sería de gran ayuda ver en qué puedo fallar, Gracias |
#2
|
||||
|
||||
Para descartar el tema de transacciones haz la siguiente prueba:
|
#3
|
|||
|
|||
Es algo SuperRaro, ya que he conseguido con las indicaciones que me habéis dado en Transacciones que el PC1 y PC2 trabajen juntos, meto pedidos trabajando los dos a la vez, grabando, modificando registros de forma simultánea sin problemas, el problema viene cuando uno de los dos PC el que sea, después de cerrar todos los formularios que se han abierto llego al formulario principal, al cerrar este formulario y por ende la aplicación se queda bloqueado.
No sé qué hace internamente al cerrar el formulario Principal, que al cerrarlo se queda bloqueado eternamente, teniendo en cuenta que el formulario principal sólo está compuesto por un MainMenu, con las pestañas para ir abriendo los distintos formularios de los que cuenta el programa. Eso sí, lo registros que he insertado, modificado o eliminado se quedan grabados, pero la aplicación se bloquea al cerrar el formulario Principal. Gracias. |
#4
|
||||
|
||||
¿Algún mensaje de error?
|
#5
|
|||
|
|||
No, sólamente se bloquea o a veces tarda 10 minutos en cerrar el formulario principal o el programa, y todo lo demás lo hace bien toda la dinámica de insertar, modificar eliminar registros, pero al cerrar para sailr del programa se bloquea o tarda 10 minutos eso sí si lo fuerzo a cerrar con el administrador de tareas por ejemplo se cierra y todo queda grabado no se pierden datos, esto ocurre cuando hay 2 Pc conectados en la misma base de datos si hubiera sólo uno no ocurre.
|
#6
|
||||
|
||||
Como no nos pases el programa para probar
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
redimensionar varias veces un array | Manuel | Varios | 13 | 14-07-2014 04:49:40 |
Mi busca si lo hace varias veces | Paulao | Varios | 0 | 05-07-2011 17:15:43 |
llamar varias veces un formulario | Lizette | Varios | 3 | 05-11-2008 16:28:10 |
Imprimir un registro varias veces | Vlady | Impresión | 1 | 29-08-2008 08:04:14 |
Imprimir algo varias veces. | aoiTo | Impresión | 0 | 20-07-2004 19:12:49 |
|