Saludos, mira mi versión:
Código de la DLL
Código Delphi
[-]
library MyDll;
uses
SysUtils,
Windows,
Classes,
ActiveX,
fTestear in 'fTestear.pas' ;
{$R *.RES}
procedure Inicializar();
begin
CoInitialize(nil);
end;
procedure Testear(Value: Integer); stdcall;
begin
Inicializar();
if not Assigned(frmTestear) then
frmTestear := TfrmTestear.Create(nil);
frmTestear.Caption := IntToStr(Value);
frmTestear.ShowModal;
frmTestear.Release;
end;
exports Testear;
end.
Ahora, en el codigo C++ esta es mi version, no esta muy arregalda para contrarrestar excepciones pero creo que eso debes saberlo hacer:
Código:
//---------------------------------------------------------------------------
#pragma hdrstop
#include "Windows.hpp"
#include "Classes.hpp"
//---------------------------------------------------------------------------
#pragma argsused
typedef int (__stdcall *TTestear)(int Value);
void main()
{
int DllHinst;
DllHinst = (int)LoadLibrary("E:/TitOSoft/Inventando/Dll/MyDll.dll");
TTestear Testear;
Testear = (TTestear)GetProcAddress((int*)DllHinst, "Testear");
Testear(55);
}
//---------------------------------------------------------------------------
Espero que entiendas lo que hice,
Saludos
Aeff!