FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
DLL' s con formularios
Hola Amigos... Les contare que trabajo en un empresa en donde se desarrolla con distintos productos , VB, Java, Delphi, etc... nuestra area tiene una serie de funciones y procedimiento que han sido desarrollado en delphi, decidimos entonces exportar todas nuestras funciones hacia una DLL, al inicio problemas con los tipos String, pero todo se soluciono rapido, magnifico¡¡, ahora los otros desarrolladores de otros lenguajes pueden usar nuestras funciones.
hasta alli bien , pero tambien, tenemos modulos hechos en delphi que se conectan con bases de datos, realizan operaciones con data , etc, etc, etc, los mismos programadores en VB y Visual Fox nos pidieron los mismos modulos pero en DLL. Entonces se nos ocurrio exportarlos, pero cuando hacemos la Aplicacion de prueba que llama a la DLL funciona bien , pero al salir nos genera un error que dice "Operacion de Punteros no valida" El Codigo en la DLL seria Asi y en el evento Close del formulario se destruye Cuando lo llamo desde otra Aplicacion se muestra el formulario, realizo todas las operaciones que deseo, luego se destruye el formulario, no hay ninguna queja...pero el problema sucede al salir de la aplicacion que llamo a la DLL, y todo empieza de nuevo... algo estamos haciendo mal , pero no lo vemos, se aceptan sugerencias... Gracias |
#2
|
||||
|
||||
Cita:
no creo que sea correcto destruir el formulario cuando todavia esta en uso.
__________________
[Crandel] |
#3
|
||||
|
||||
¿Cómo destruyes el formulario?
No sé cómo sea con una dll pero recuerda que lo indicado es poner Action := caFree y no Form1.Free. // Saludos |
#5
|
||||
|
||||
Igual me equivoco, pero yo lo pensaría de este modo:
Estas asignando como responsable de la nueva forma a un objeto Application, pero tratandose de que estas cargando el formulario desde una DLL no se ve bien claro a cual Application es a quien le va a colgar el chamaco este procedimiento... porque no puebas (ya que tu mismo te estas encargando de liberar los recursos de la forma) de crear la forma nueva, digamoslo asi, "huerfana" o dicho de otra manera "autosuficiente"
Sustituyendo Application por nil no estas haciendo responsable a nadie por tu formulario, asi que al cerrar tu aplicación no tendría porque respingar...supongo Saludos
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
|
#6
|
|||
|
|||
No tuve suerte con lo que me recomendaste... Pero seguire insistiendo con esa logica, creo que esta por ahi, el truco...
Gracias por contestar... |
#7
|
||||
|
||||
Ayuda con Forms y Databases en Dlls
Hola,
Tengo el problema de poner un form con conexión a base de datos dentro de una dll. El problema que me da es que se pierde la conexión. ¿Cómo puedo solucionarlo, por favor? email: fernandosolis5@gmail.com |
#8
|
||||
|
||||
Hola a todos, tengan un buen dia.
Estoy trabajando con Delphi 2005, quiero conectarme a una base de datos de MySQL con componentes ADO desde una DLL, supongo que para lograrlo necesito una forma para poner los componentes en ella, así que estoy probando el código que nos dejó nuestro compañero Esau, pero la siguiente línea Fué cambiada en mi laptop por esta y aquí me marca el siguiente error: Cita:
|
#9
|
||||
|
||||
No importa el código que ponga en esa línea, siempre me marca el mismo error, también me pasa con cualquier otro código que no haya empezado yo, si quiero abrir un ejemplo que me pasaron me aparece el mismo error, ya sea un proyecto normal de delphi o un proyecto de DLL... Alguien sabe que es lo que esta pasando? Es algo del delphi 2005?
|
#10
|
||||
|
||||
Creo que el error me salia porque estaba tratando de usar código de proyectos de Win32 en proyectos de .Net...
La verdad, no entiendo mucho de esto, pero ahora estoy haciendo proyectos para Win32 y me cambió el error... Ahora es el siguiente: Cita:
|
#11
|
||||
|
||||
Creo que estoy empezando a enteder:
La DLL utiliza una forma externa? Creo que la respuesta es "si", así que creé esta forma en otro proyecto y la puse en el mismo directorio en el que tengo mi proyecto de DLL y ya no aparece ese error... ahora me aparece el siguiente: Cita:
Ahora qué pasa? |
|
|
|