![]() |
Pasar un componente TDataBase a otra aplicacion en delphi
Hola gente espero que alguien me pueda ayudar con algun tip, tengo una aplicacion en Delphi 2007 donde me conecto a una base de datos (Oracle) esta aplicacion toma algunas desiciones y dependiendo de esto ejecuta otro programa que utiliza la misma conexión, sin embargo no quiero abrir mas sesiones a la base de datos por efecto de eficientar los recursos. Conocen alguna manera sencilla de pasarle este componente ya instanciado a esta segunda aplicación?
|
Hola Eduardo y bienvenido a Club Delphi :)
Como a todos los que se inician te invitamos a que leas nuestra guía de estilo. Cita:
Un modo sencillo que se me ocurre es guardar el componente desde la aplicación emisora y luego leerlo desde el componente de la aplicación receptora. Aplicación emisora:
Aplicación receptora: Pero no se evita el uso de otra instancia de la misma clase en la segunda aplicación. Saludos. :) |
Cita:
Esto va a depender de si tú segunda aplicación la puedes convertir en una DLL. La idea es que la función que llames desde la DLL tiene que recibir el puntero a la conexión de la base de datos...
Buscando entre mis cachureos encontre este código...Nunca lo he usado... Espero te ayuda... Yo lo realizo con componentes IBX y FIBPLus atacando Firebird.... Saludos cordiales |
Hola Eduardo.
Sobre tu consulta (usando COPYDATASTRUCT), tratándose de un TComponent, lamentablemente creo nos deja en una situación similar a la anterior por los motivos explicados. Pero, aunque de forma mas compleja que con TFileStream, se pueden pasar los datos de la instancia, un ejemplo: Aplicación emisora:
Aplicación receptora: También tomá en cuenta implementar la opción que te sugiere cloayza. Saludos. |
| La franja horaria es GMT +2. Ahora son las 06:03:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi