Thema: Delphi Plugin-System fragen

Einzelnen Beitrag anzeigen

b1428727

Registriert seit: 20. Mai 2010
9 Beiträge
 
#1

Plugin-System fragen

  Alt 20. Mai 2010, 10:50
Hallo und guten tag zusammen...

ich mache mir gedanken über ein plugin-system welches ich in meine anwendung integrieren möchte.
habe mir hier im forum auch schon beispiele angesehen wie dies funktionieren könnte.

aber es gibt da eine spezielle hürde, welche ich noch nicht bewältigt habe.

problem
wie kann mann plugins einbinden welche
  • a. in möglichst jeder sprache geschrieben werden können (pascal und c würden mir reichen)
    b. fenster enthalten
    c. diese fenster (b) an mein haupt-formular gedockt werden können
    d. diese gedockten fenster (c) unpinnbar sind
info zu d: pin-klicken sodass diese wie in delphi nach links sliden und keinen platz mehr brauchen


mögliche lösung, ole-variante
ich habe mir gedacht, diese ole schnittstelle wäre ja prima geeignet.
mann kann in verschiedenen sprachen ein ole-objekt erzeugen, somit wäre punk a erfüllt.

ich könnte ein formular in meiner eigenen anwendung erzeugen, somit wäre punkt b,c und d erfüllt.
auf diesem formular platziere ich einen ole-container welches dann das ole-objket vom plugin enthält.

das ole-objekt müsste wohl ein activeform sein, somit kann es sich selber im ole-container zeichnen und dort
ausgeführt werden.

problem an dieser geschichte ist:
wenn ich das ole objekt erzeuge z.b. ein "word.document", oder ein "excel.sheet" funktioniert das
wunderbar in meinem formular, jedoch sobald dies gedockt wird, gibt es probleme.
habe auch ein eigenes activeform objekt in einer bibliothek erstellt und dies in den ole-container
geladen. auch damit funktioniert es nur bis das fenster gedockt wird.

sobald das formular mit dem ole-container gedockt wird, verschwindet der inhalt
vom ole-container. (mit DoVerb(ovShow) wird dann auch nurnoch das menü vom word angezeigt aber
das dokument ist wegg).

ich erkenne die inkompatibilität vom ole-container/-inhalt zum docken nicht.
was können da die ursachen sein? kann mann diese umgehen oder ist es grundsätzlich mit ole-container nicht möglich?

andere varianten
sind mir bisher noch nicht in den sinn gekommen. aber evtl. gibt es eine andere lösung, ohne ole
welche meine wünsche a-d erfüllen könnte?


vielen dank für jeglichen input.

grüsse
  Mit Zitat antworten Zitat