Hallo
DP
Ich bin noch in der Überlegungsphase, mir ein Pluginsystem zu schreiben, in dem ich über Plugin-DLLs so gut wie alles freigeben will.
Um das erstmal zu testen, wollte ich mir eine Beispielanwendung schreiben, was dies mit einem MainMenu realisiert.
Nun habe ich aber die Frage, wie ich diese Sachen zusammen bekomme:
Delphi-Quellcode:
IMainMenu = Interface(IInterface)
['{A01384F7-E3EA-49E5-B030-AED042FFBAB9}']
end;
TIMainMenu = class(TInterfacedObject, TMainMenu, IMainMenu)
end;
TInterfacedObject würde ich gerne einbringen, da dort die automatische Referenzzählung vorgenommen wird.
Da Mehrfachvererbung in Delphi nicht möglich ist, funktioniert das natürlich nicht.
Mein Ziel ist dabei, den DLLs zur Manipulation des MainMenus lediglich ein Interface zu übergeben, was benötigte Methoden bereitstellt.
Mir vorgeschlagen wurde auch eine andere Möglichkeit:
Delphi-Quellcode:
TIMainMenuWrapper = class(TInterfacedObject, IMainMenu)
end;
TIMainMenu = class(TMainMenu)
private
FInterface : TIMainMenuWrapper;
public
constructor Create(AOwner : TComponent; AInterface : TIMainMenuWrapper = nil); reintroduce; virtual;
end;
Jedoch kann ich mit der 2. Variante nichts anfangen.
Wie kann ich nun ersteres realisieren?
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.