Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Interfaces in C++

  Alt 9. Jul 2004, 15:48
Also gut......
Du hast 2 Interfaces: IPlugIn und IPlugManager.
IPlugin muss von einer Active-X Bibliothek implementiert werden.
IPlugManager wird von deiner Hauptanwendung implementiert.
Die PlugIn-Schnittstelle könne so aussehen:
Delphi-Quellcode:
IPlugIn = interface
  procedure SetExplorer(v:IPlugManager); // damit bekommt dein PlugIn ein Interfacezeiger
                                          // auf die Hauptanwendung mit.
  function GetDescription : Widestring;
  function GetFeatureFlags: Integer;
  ....
end;
Beide Interfaces (IPlugIn und IPlugManager) werden nun in einer TLB abgelegt.
Diese TLB nenne ich hier mal Charlie.
Das Interface IPlugManager gibt es (unter einem anderen Namen) ja schon in deiner Hauptanwendung. Du musst das Interface aus der TLB der Hauptanwendung rausschneiden und in Charlie einfügen.
Sowohl deine Hauptanwendung, als auch jede PlugIn-DLL müssen Charlie einbinden.
Die TLB Charlie übernimmt sozusagen die Aufgabe eines universellen Includefiles, dass von vielen Programmiersprachen (Delphi, C++-Builder, Visual C++, ...) verstanden wird.
Andreas
  Mit Zitat antworten Zitat