Ver Mensaje Individual
  #1  
Antiguo 14-10-2006
elpinjum elpinjum is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Alicante
Posts: 23
Reputación: 0
elpinjum Va por buen camino
dll de Visual Basic en Delphi

Estoy intentado usar una dll generada desde Visual Basic para usarla en Delphi, y no hay manera.

En la dll que genero en Visual Basic lo único que tengo es lo siguiente:
Public sub Hola()
MsgBox("Hola")
End Sub

Una vez generada la dll, la intento utilizar desde un programa generado con visual Basic, y consigo hacerlo sin problemas.

Cuando intento importarla desde delphi, no consigo que me funcione.

Lo hago con el siguiente codigo

Código Delphi [-]
unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm9 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TProc = procedure;

var
  Form9: TForm9;

implementation

{$R *.dfm}

procedure TForm9.Button1Click(Sender: TObject);
var
  Handle: THandle;
  Proc:TProc;
begin
  Handle := LoadLibrary('Project10.dll');
  if Handle <> 0 then
  begin
    @Proc := GetProcAddress(Handle, 'Hola');
    if @Proc <> nil then
      Proc;
    FreeLibrary(Handle);
  end;
end;

end.

Delphi consigue cargar la libreria, pero cuando intento cargar el procedimiento por el nombre delphi no lo encuentra, por lo que no me queda mas remedio que cargarlo por el numero de indice con el siguiente código @Proc := GetProcAddress(Handle, PChar(1));.

Una vez que he conseguido cargar el procedimiento, lo ejecuto, pero no hace absolutamente nada, ¿alquien puede ayudarme?

¿Acaso no es compatible una dll de visual basic con delphi?.
Responder Con Cita