Thema: PlugIn-System

Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#17

AW: PlugIn-System

  Alt 12. Nov 2010, 23:05
Beispiel
dll/bpl A enthält Fastreport
dll/bpl B enthält Fastreport
Fastreport registriert sich über Registerclass

Modul A kann problemlos verwendet werden.
Modul B kann problemlos verwendet werden.

Wird versucht eines der beiden Module nachzuladen, wenn das jeweils andere Modul bereits geladen ist, dann knallt es und die Anwendung stürzt ab.
Wie wäre es, einen Fastreport-Wrapper zu bauen?
Sowohl das Hauptprogramm als auch die DLLs kennen bestimmte Interfaces.
Das Hauptprogramm besitzt Klassen, die diese Interfaces implementieren.
Das Hauptprogramm ruft dann einfach eine bestimmte DLL-Funktion auf und übergibt die Interfaces als Parameter.
... und schon läufts!
Genauso auch mit Formularen.
  Mit Zitat antworten Zitat