![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cordial Saludo,
Ya logré realizar el cargue de la librería más de una vez. Se debe eliminar la instrucción "FreeLibrary" del mismo procedure donde se llama, hay que buscar otra forma para liberarla, tratando de detectar si la forma ya se cerró. En fin... la gran decepción que tuve fue lo siguiente: Cuando se lanza por primera vez la dll, la cual maneja los datos de una tabla X, funciona perfectamente. Cuando se llama la dll por segunda vez para manejar los datos de la tabla Y, sin haber terminado la primera llamada, la primera instancia que estaba manejando la tabla X, adopta los datos de la tabla Y que se maneja en la segunda instancia. Puede que sea por el manejo compartido de direcciones de memoria. Lo único que me queda es pasar de librería a un ejecutable para no perder el trabajo. Si de pronto alguien tiene alguna sugerencia, con gusto será escuchada. Gracias. |
|
#2
|
||||
|
||||
|
Yo haría funciones distintas para cada tabla. Si no es eso creo que no he entendido bien cual es el problema.
__________________
La Madurez se llama... ~~~Gaia~~~ |
|
#3
|
|||
|
|||
|
Cordial Saludo,
La idea de la librería es proporcionar una forma que me permita manejar las operaciones básicas en una tabla cualquiera (insertar, modificar, eliminar, imprimir y exportar). De esta manera evito tener una forma para cada tabla (aclarando que son tablas básicas, de referencia), ya que puedo enviarle a la dll cualquier tabla sin necesidad de generar código específico para cada tabla. Lo más importante es que se cargara de forma dinámica y no incrementar el tamaño del ejecutable principal. Si el requerimiento hubiera permitido mantener la forma en estado modal, no habría problema, pero se necesita poder ver abrir más de una vez dicha librería y es ahí donde todo se complica, porque no independiza los datos. No coloco una función para cada tabla porque no sería algo estándar. Gracias. |
|
#4
|
||||
|
||||
|
No estoy seguro, pero cada llamada debería ser independiente.
Lo que yo haría y que, a priori, debería funcionar es lo siguiente: 1.- En la dll, conexión deshabilitada y componentes de base de datos deshabilitados. 2.- La función de la dll tiene que tener como parámetros los datos de conexión y la tabla a la que acceder. 3.- una vez se llama con estos parámetros, la función de la dll debe montar la conexión y el acceso a la tabla. Hasta donde yo sé, no debería haber problema.
__________________
La Madurez se llama... ~~~Gaia~~~ |
|
#5
|
|||||||
|
|||||||
|
cd.rafael,
Cita:
El código anterior declara una DLL que exporta dos rutinas que visualizan formularios, una en forma Modal (Function) y otra en forma No Modal (Procedure). Revisa este código: El código anterior permite de forma dinámica cargar el Procedure ShowForm y la Function ShowFormModal del DLL anterior para el manejo de formularios. Cita:
Cita:
Cita:
Cita:
Cita:
Revisa estos links: Cita:
Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 24-01-2013 a las 17:31:27. |
|
#6
|
|||
|
|||
|
Cordial Saludo,
Ya correjí el tema del ShareMem usando PChar, pero el problema de los datos cuando se inician dos instancias de la dll continúa. Las variables que uso para el llamado no son globales, son idnependientes para cada llamada a la dll. ![]() Muchas gracias. |
|
#7
|
||||
|
||||
|
cd.rafael,
Cita:
Cita:
Cita:
Modifica la DLL forma en lo referente al Data Modulo dtmConexion: La idea es que se cree una nueva variable local del Data Modulo dtmConexion y su instancia correspondiente en cada llamada del Procedimiento pFormaMaestro y que esta libere todos su recursos al finalizar el procedimiento mencionado para de esta forma asegurar que las instancias sean independientes entre llamadas. Espero sea útil ![]() Nelson. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Error al crear un MDI Form | jafera | OOP | 6 | 19-07-2011 14:10:13 |
| Error con AdoQuery y 2 Form | Dado de baja | Conexión con bases de datos | 2 | 23-10-2008 17:37:04 |
| Error al crear MDI Form | Faust | Varios | 8 | 23-04-2008 05:12:01 |
| Error en form de login | FGarcia | Varios | 2 | 05-02-2006 05:00:27 |
| Error Creating Form | RolphyReyes | Varios | 4 | 02-09-2005 19:56:42 |
|