Noch eine Frage zum Verständnis:
Die Art und Weise, wie das ganze funktioniert ist doch folgende:
Die Main
Unit beinhaltet die
VCL Form und die Grundfunktionen, die FMX
Unit beinhaltet die FMX Form und FireMonkey Funktionen. Die FMX
Unit gibt die Prozeduren und Funktionen über den Befehl
procedure TestProc; export;
an die
DLL frei.
In der
DLL befinden sich die Informationen, auf welche
Unit zugegriffen wird (für die Quellfunktionen) und welche Funktionen/Prozeduren exportiert werden.
In der Main
Unit werden dann die Funktionen mit Hilfe der
DLL geladen und aufgerufen. Entweder per Initialisierung oder als Funktionsdeklaration.
Delphi-Quellcode:
initialization
if DllHandle = 0 then begin
DllHandle := LoadLibrary('ProjectDLL.dll');
if DllHandle > 0 then begin
//@TestFunc := GetProcAddress(DllHandle, 'TestFunc');
DllHandle := LoadLibrary('ProjectDLL.dll');
End else begin
MessageDlg('ProjectDLL.dll steht nicht zur Verfügung', mtInformation, [mbOK], 0);
end;
end;
finalization
if DLLHandle <> 0 then
FreeLibrary(DLLHandle);
procedure TestProc; external 'ProjectDLL.dll' name 'TestProc';
An welcher Stelle kommt dann die "ProjectDLLInterface"
Unit von Rolf zum Einsatz?
Habe ich das so richtig verstanden oder hab ich was falsch wiedergegeben?