Thema: Delphi FMX und VCL verbinden

Einzelnen Beitrag anzeigen

Benutzerbild von Minz3
Minz3

Registriert seit: 18. Jul 2019
Ort: Thüringen
48 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

AW: FMX und VCL verbinden

  Alt 23. Sep 2019, 10:24
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.dllname '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?
Attention:
Brain.exe has stopped working. Reboot the system in 3... 2... 1... ... ... ... Attempt failed.

Geändert von Minz3 (23. Sep 2019 um 10:49 Uhr)
  Mit Zitat antworten Zitat