Mam coś takiego:
Unit1.h
typedef void __stdcall (*PROCRunThisModule)();
extern "C" void __stdcall RunThisModule();
Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE NaszDLL;
NaszDLL = LoadLibrary("Tutorial.dll");
if (NaszDLL == NULL)
{
Application->MessageBox("Nie można załadować Biblioteki dll!","Błąd",
MB_OK | MB_ICONHAND);
}
else
{
PROCRunThisModule _RunThisModule =
(PROCRunThisModule)GetProcAddress(NaszDLL, "RunThisModule");
if (_RunThisModule == NULL)
{
Application->MessageBox("Nie znalazłem zdefiniowanej funkcji!","Błąd",
MB_OK | MB_ICONHAND); }
else
{
_RunThisModule();
}
}
}
W bibliotece dll pokazuje sie najprostsza komunikat napisany w Delphi:
library Project1;
uses
SysUtils,
Classes,dialogs;
{$R *.res}
procedure wykonajModul (komunikat:Pchar);stdcall;
begin
showmessage(komunikat);
end;
exports
wykonajModul name 'RunThisModule';
begin
end.
W jaki sposób można przekazywać zmienne z programu napisanego w c++ do biblioteki dll napisanej w Delphi?
Z góry serdecznie dziękuje za pomoc. Głowię sie z tym już cala noc i nie mogę trafić na rozwiązanie :/