Einzelnen Beitrag anzeigen

shmia

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

Re: Fremde DLL per COM verwenden - OLE-Server-Proxy erstelle

  Alt 14. Feb 2008, 16:24
Zitat von taveuni:
Zitat:
Du solltest deinen Programcode umstellen anstatt der alten Klasse TKDF nachzutrauern.
Das geht so:
Ich nehme an Du sprichst das Thema early/late binding an.
Nein ich meine den Unterschied zwischen "normalen" COM/DCOM Objekten und OLE-Objekten.
Ein OLE Objekt muss eine ganze Menge weitere Interfaces unterstützen, damit es wirklich ein OLE-Objekt wird.
(IDataObject, IOleContainer, IParseDisplayName, IPersist, ....)
Diese ganzen Standard-Interfaces erlauben einem Objekt sich selbst anzuzeigen, sich selbst in einem Stream zu speichern, u.s.w.

Wenn man bei einer CoClass das Flag "Steuerlement" ("Control") setzt, versucht Delphi beim Import der TLB automatisch einen OLE-Wrapper herumzupacken.
Wahrscheinlich hat der Author der DLL genau diesen Fehler gemacht. Später hat er wohl seinen Fehler erkannt und das Flag wieder entfernt. Folge: Delphi erzeugt keine von TOleServer abgeleitete Klasse mehr.
Andreas
  Mit Zitat antworten Zitat