Salve a tutti,
ho una piccola libreria che ho realizzato in C++ tanto tempo fa. Vorrei compilarla come DLL in Visual Studio e quindi utilizzarla in Delphi.
Come al solito sono una testa dura e non ci riesco!
Vi faccio un esempio: vi prego di dirmi se il mio procedimento è giusto.
La libreria C++ è costituita da due file, MyLib.h e MyLib.cpp
codice:
////////////// Interfaccia MyLib.h //////////////
#define ExportToDLL __declspec(dllexport)
class ExportToDLL CMyLib
{
private:
int MyVar1;
int MyVar2;
// ecc........
public:
CMyLib(); // COSTRUTTORE
int MyFunction();
// ecc........
};
codice:
////////////// Classe MyLib.cpp //////////////
#include "MyLib.h"
CMyLib::CMyLib() // COSTRUTTORE
{ }
int CMyLib::MyFunction() {
return 5;
}
codice:
////////////// Wrapper MyLib.pas //////////////
unit MyLib;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, StrUtils;
interface
function MyFunction(): Integer; stdcall;
implementation
function MyFunction; external 'MyLib.dll' name 'MyFunction';
initialization
ShowMessage(IntToStr(MyFunction()));
end.
Tutto viene creato correttamente, la DLL viene compilata senza problemi (Tdump.exe, analizzandola, lista la classe esportata). In teoria dovrebbe funzionare, ma perché non va???
Quando lo eseguo "impossibile trovare il punto d'ingresso della procedura MyFunction".