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".

Rispondi quotando