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