Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi class factory kann angeforderte klasse nicht liefern (https://www.delphipraxis.net/25909-class-factory-kann-angeforderte-klasse-nicht-liefern.html)

Matt 14. Jul 2004 18:46


class factory kann angeforderte klasse nicht liefern
 
Hallo DPler,

habe gerade über ein erstelltes Programm einen Word Brief drucken wollen und erhalte nun die Fehlermeldung: "class factory kann angeforderte klasse nicht liefern"

Ich benutze die Delphi Komponennten für OfficeXP, habe allerdings mitlerweile Office 2003. Kann es daran liegen, obwohl ich bisher keine Probleme hatte, da ich das Programm schon ziemlich lange nutze.

Weiß jemand, was diese Fehlermeldung mir mitteilen will?

Vielen Dank im voraus für Eure Hilfe!

Gruß Matt

Bernhard Geyer 15. Jul 2004 07:19

Re: class factory kann angeforderte klasse nicht liefern
 
Die Fehlermeldung deutet auf ein Problem mit der COM-Schnittstelle hin. Folgende Gründe könnte das haben

1, Borland hat einen Fehler in den Wrapper-Komponenten gemacht, die sich erst mit Office2003 auswirken

2, M$ hat die Schnittstelle so geändert, das sie nicht mehr rückwärtskompatible ist (was sie eigentlich aufgrund der COM-Regeln nicht dürfte)

3, M$ musste die Schnittstelle bezüglich Sicherheit ändern, um die Einfallstore für Viren zu verkleinern.

Du mußt dich erstmal auf die Suche machen, wo genau der Fehler auftritt. Dann solltest Du mal probieren was passiert, wenn Du die COM-Schnittstelle direkt (ohne die von Borland gelieferten Wrapper-Componenten verwendest) verwendest.

sakura 15. Jul 2004 07:24

Re: class factory kann angeforderte klasse nicht liefern
 
Zitat:

Zitat von Bernhard Geyer
2, M$ hat die Schnittstelle so geändert, das sie nicht mehr rückwärtskompatible ist (was sie eigentlich aufgrund der COM-Regeln nicht dürfte)

Nicht unbedingt, von MXSML 3 auf 4 haben die, die Schnittstellen auch geändert :roll: COM ist nur so lange rückwärtskompatibel, wie die neue Version auch auf die alte aufsetzt.

...:cat:...

Bernhard Geyer 15. Jul 2004 07:32

Re: class factory kann angeforderte klasse nicht liefern
 
Zitat:

Zitat von sakura
Nicht unbedingt, von MXSML 3 auf 4 haben die, die Schnittstellen auch geändert :roll: COM ist nur so lange rückwärtskompatibel, wie die neue Version auch auf die alte aufsetzt.

Für MSXML stimmt dies. Dort wird ja auch nicht die alte Version überschrieben, so das alle Versionen parallel genutzt werden können. :lol:
Die ist aber (jedenfalls von Office 95-XP) nicht der Fall. Und ich denke das ist auch bei 2003 auch nicht anders. Dort hat jede neue Version die Registry-Einträge der Alten Version überbügelt, so das nur die neue Version über COM verfügbar ist.

Matt 15. Jul 2004 18:38

Re: class factory kann angeforderte klasse nicht liefern
 
Danke Ihr beiden für die Infos. Habe zwar nicht alles verstanden, aber ich check das mal.
Hatte zwischenzeitlich wieder WordXP installiert hat aber leider den erhofften Erfolg nicht gebrach, gleiche Fehler.

Gruß Matt

Bernhard Geyer 16. Jul 2004 07:36

Re: class factory kann angeforderte klasse nicht liefern
 
Zitat:

Zitat von Matt
Danke Ihr beiden für die Infos. Habe zwar nicht alles verstanden, aber ich check das mal.
Hatte zwischenzeitlich wieder WordXP installiert hat aber leider den erhofften Erfolg nicht gebrach, gleiche Fehler.

Auf dem Rechner hat es schon mal mit WordXP funktioniert?

Alte Version deinstalliert? M$-Office-Programme sind dafür bekannt, das sobald eine neue Version installiert ist, auch nach einer deinstallation dieser und installation der alten Version der alte Zustand nicht mehr herstellbar ist.
Das hat auch mit der sogenannten DLL-Hölle zu tun, da die Deinstaller von Office-Produkten immer einen sehr großen Teil der installierten Komponenten/Dateien vergessen. Im schlechtesten Fall hilft nur ein Neuaufsetzen des Betriebsssystems.

Union 1. Aug 2004 09:57

Re: class factory kann angeforderte klasse nicht liefern
 
Zitat:

Zitat von Matt
habe gerade über ein erstelltes Programm einen Word Brief drucken wollen und erhalte nun die Fehlermeldung: "class factory kann angeforderte klasse nicht liefern"

Ich benutze die Delphi Komponennten für OfficeXP, habe allerdings mitlerweile Office 2003. Kann es daran liegen, obwohl ich bisher keine Probleme hatte, da ich das Programm schon ziemlich lange nutze.

Ich hatte das Problem auch aber mit Excel. Lösung:
  • Projekt->Typbibliothek importieren
  • Microsoft xxx 11.0 auswählen
  • Install drücken
  • Bibliotheksnamen usw. auswählen
Es wird dann automatisch eine passende Klasse erzeugt und die dazugehörigen Komponenten werden standardmäßig auf der ActiveX Seite angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz