Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Cómo crear una DLL con varios formularios? (https://www.clubdelphi.com/foros/showthread.php?t=32022)

Javi2 24-05-2006 17:27:36

¿Cómo crear una DLL con varios formularios?
 
Hola,

Tengo un formulario en el que si se pulsa un botón aparece otro formulario y devuelve unos datos al primero. Estos formularios para su funcionamiento, utilizan unidades donde se encuentran definidos procedimientos comunes.
El caso es que estos dos formularios están hechos en Delphi y quieren que los pase a una DLL para que puedan ser utilizados desde otras aplicaciones realizadas en otros lenguajes. Esto implica incluir tanto los formularios como las unidades que utilizan estos formularios (supongo, porque no tengo ni idea).

¿Alguien me podría indicar dónde puedo obtener información para generar una DLL (manuales, tutoriales,...?

Agradecería cualquier tipo de ayuda, pues es la primera vez que hago algo similar.

Muchísimas gracias.

diniremix 24-05-2006 18:10:31

hola y salu2

amigo Javi2 nop t entendi casi nada pero si en caso lo q quieras es hacer una dll con formas incluidas puedes bajarte esto algunos ejemplos (con el Source:D a bordo) y un manual (chiquitito) de una hojas q scanee de un libro delphi acerca del tema :cool: espero q sea lo q buscas...

bytes, salu2

P.D.
el archivo es un rar

seoane 24-05-2006 20:33:45

1 Archivos Adjunto(s)
No domino el tema de los formularios en las dll pero en un principio no parece muy complicado. Se trata de crear un nuevo proyecto indicando que se trata de una dll, luego añadir los formularios que se necesiten, y por ultimo crear y exportar unas funciones encargadas de mostrar los formularios.

Bueno aqui te dejo un ejemplito de como lo haria yo:
Código Delphi [-]
function MostrarFormulario: Integer; stdcall;
begin
  Result:= 0;
  with TfrmMain.Create(nil) do
  try
    Result:= ShowModal;
  finally
    Free;
  end;
end;

exports
  MostrarFormulario;

Y para probarla en otros lenguajes utilice el C, aqui te pongo el codigo que use para las pruebas
Código:

#include <stdio.h>
#include <windows.h>

typedef int (*MYPROC)();

int main(int argc, char *argv[])
{
 HINSTANCE hinstLib;
 MYPROC ProcAdd;
 int i;

 hinstLib = LoadLibrary("Ejemplo21.dll");
 if (hinstLib != NULL)
 {
  ProcAdd = (MYPROC) GetProcAddress(hinstLib, "MostrarFormulario");
  if (ProcAdd != NULL)
    printf("El resultado es: %d",(ProcAdd) ());
  else
    printf("No puedo cargar la libreria\n");
    FreeLibrary(hinstLib);
 }
 return 0;
}

Aqui te lo dejo todo empaquetado para que le eches un vistazo, el codigo en delphi y la aplicacion echa en C para hacer las pruebas. Espero que te sirva para empezar

Javi2 25-05-2006 10:35:06

Muchas gracias a todos. Voy a ponerme a ello a ver que tal se me da...


La franja horaria es GMT +2. Ahora son las 01:01:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi