Ver Mensaje Individual
  #8  
Antiguo 23-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si no lo has hecho ya, échale un vistazo a esta entrada en mi blog.

Ahí se explican varias opciones, entre ellas, la que tú estás intentando aplicar a tu aplicación. en tu caso, la que está etiquetada como:
"EXE + DLL con Carga dinámica(El EXE puede ser con o sin BWRP)"

Al final tienes los ejemplos con código fuente para que puedas probar.

el que se aplica en tu caso, sería algo así:

Código Delphi [-]
  // Cargar la DLL
  H := LoadLibrary('SUMAS.DLL');
  // Cargada correctamente?
  if (H >= 32) then begin
    MessageDlg('Cargada la DLL...', mtInformation, [mbOK], 0);
    sum := nil;
    @sum := GetProcAddress(H, 'Sumar2');
    // Asignada?
    if Assigned(sum) then begin
      MessageDlg('Acceso a la función SUMAR', mtInformation, [mbOK], 0);
      // llamada
      res := Sum(4,5);
      MessageDlg(Format('Resultado:  %d+%d=%d',[4,5,res]), mtInformation, [mbOK], 0);
      FreeLibrary(H);
    end;
    else begin
      MessageDlg('Error, no se ha encontrado el método SUMAS2', mtError, [mbOk], 0) 
    end;
  end
  else
    MessageDlg('Error, no se ha encontrado SUMAR.DLL', mtError, [mbOk], 0)
 end.

Las definiciones serían estas:

Código Delphi [-]
var
  H: Thandle;
  res:integer;
  Sum: function(x,y:Integer):integer; stdcall;

En este caso la DLL SUMAS.DLL sería la que tú estás programando y el método Sumar2, el equivalente al que deberías programar tú para que se muestre el formulario que quieres.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 23-11-2015 a las 18:19:16. Razón: Añadir las definiciones
Responder Con Cita