Ver Mensaje Individual
  #5  
Antiguo 16-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Reputación: 18
aeff Va camino a la fama
Saludos, mira mi versión:

Código de la DLL
Código Delphi [-]
library MyDll;

uses
  SysUtils,
  Windows,
  Classes,
  ActiveX,
  fTestear in 'fTestear.pas' {frmTestear};

{$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!
Responder Con Cita