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...