FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Este es el metodo que utilizo para crear un form, desde el formulario principal, ya que todos estan definidos en el proyecto como available.
if Assigned(form11) then form1.Show else form1 := Tform1.Create(Application); Posteriormente en el formulario "form1" hago lo siguiente: procedure Tform1.FormCreate(Sender: TObject); begin table.open; end; procedure Tform1.FormCreate(Sender: TObject); begin table.Close; Action := caFree; form1 := nil; end; y en en close del formulario principal cierro inclusive la base de datos y hago lo siguiente: procedure TformPrincipal1.FormClose(Sender: TObject; var Action: TCloseAction); begin database.close; Action := caFree; formPrincipal1 := nil; Application.Terminate; end; Espero me puedan ayudar. Gracias. La verdad que no tengo muy claro si es el BDE o es mi aplicacion, pero en todos los casos que cierro todos los programas que hacen referencia a alguna libreria del bde y luego empiezo nuevamente a abrir las aplicaciones funciona correctamente, es por eso nada mas que digo que puede ser el bde, pero es más seguro que sea mi aplicacion que no este haciendo algo bien y quede algo abierto en memoria que impide que otra aplicacion pueda ser ejecutada. |
#2
|
||||
|
||||
A mi me pasó algo parecido y me di cuenta que dejaba los querys abiertos.
Cerraba las tablas pero no los querys. De momento no me ha vuelto a suceder. Una manera que tengo para comprobar si hay alguna tabla abierta es reindexar las tablas. Si las tablas estan cerradas me reindexa perfectamente, pero si hay alguna abierta o que se este utilizando, me salta la exepción. Desde el formulario principal llamo a los otros de esta manera en el evento OnActivate del formulario que abro Y el el evento OnClose del formulario Asi es como lo solucione. Un saludo. |
|
|
|