Einzelnen Beitrag anzeigen

Neuromancer

Registriert seit: 8. Aug 2003
62 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Dienst / Service und CreateOleObject('Microsoft.XMLDOM')

  Alt 4. Dez 2006, 15:54
Zitat von lorrey:
Kann mir einer Erklären warum die anderen Typen in einer "normalen" Anwendung gehen aber in einem Dienst nicht ?!?
Ich bin nicht der COM-Experte, deswegen kann ich nur spekulieren...

Mein Verdacht war, dass die Variable tatsächlich vom Typ IXMLDOMDocument war. Wenn du aber late Binding benutzt (d.h. wenn du nicht auf die registrierte Typbibliothek zurückgreifst), dann muss das Interface IXMLDOMDocument ein duales Interface sein. Und höchstwahrscheinlich ist es das eben nicht.
Deswegen ist es bei late binding immer geschickter, einen OLEVariant als Variable zu nehmen, weil dieser kann - soviel ich weiß - jeden beliebigen IUnknown aufnehmen.
Der Cast auf IXMLDOMDocument kann aber gewaltig in die Hose gehen, wenn eben das Interface kein duales ist.
Und bevor ich mich jetzt um Kopf und Kragen rede, höre ich besser auf....
Sorry, aber es ist einfach schon zu lange her, dass ich damit zu tun hatte...

Gruß

PS: Wegen dem dualen Interface schaue ich mal kurz nach...nein...IXMLDOMDocument ist ein duales Interface....*hmmmm*....naja...vielleicht kann der eine oder andere COM-Hase noch etwas dazu sagen...
  Mit Zitat antworten Zitat