AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi DCOM-Problem - Klasse nicht registriert

DCOM-Problem - Klasse nicht registriert

Ein Thema von HaJo · begonnen am 17. Jun 2004 · letzter Beitrag vom 17. Jun 2004
Antwort Antwort
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#1

DCOM-Problem - Klasse nicht registriert

  Alt 17. Jun 2004, 10:06
Hallo in die Runde.

Habe folgendes Problem:

Ich habe zwei NT2003-Entwicklungs-Rechner mit exakt gleich installierter Software.

Kompiliere ich meine Anwendungssoftware mit Delphi7, die Winword und WordPerfect über DCOM "fernsteuert", erhalte ich auf einem PC bei dem versuch WordPerfect zu starten, die Fehlermeldung "Klasse nicht registriert". Und das obwohl Corel ordnungsgemäß in der Komponenten-Verwaltung registriert ist.

Schlimm daran ist, gebe ich beide EXE-Dateien weiter, bleibt dieser Fehler - "Klasse nicht registriert" scheinbar an die EXE-Datei gebunden und tritt auch auch beim Endanwender auf.

Wäre für jeden Rat dankbar.

Liebe Grüße
Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
shmia

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

Re: DCOM-Problem - Klasse nicht registriert

  Alt 17. Jun 2004, 10:33
Zitat von HaJo:
Kompiliere ich meine Anwendungssoftware mit Delphi7, die Winword und WordPerfect über DCOM "fernsteuert", erhalte ich auf einem PC bei dem versuch WordPerfect zu starten, die Fehlermeldung "Klasse nicht registriert". Und das obwohl Corel ordnungsgemäß in der Komponenten-Verwaltung registriert ist.
Das Problem ist die Funktion CreateOleObject. Würde die Funktion folgende
Exceptionmeldung erzeugen "Klasse <WordPerferct.Application> nicht registriert", dann wüsste man
nach was man suchen muss (nämlich in der Registry/HKEY_CLASSES_ROOT nachschauen, ob es den Schlüssel WordPerferct.Application gibt. Dann würde auch der Schreibfehler auffallen).

Du könntest auf Aufrufe an CreateOleObject auf deine eigene Funktion umbiegen:
Delphi-Quellcode:
function CreateOleObject2(const ClassName: string): IDispatch;
begin
   try
      result := CreateOleObject(ClassName : string);
   except
      on E:Exception do
      begin
         E.Message := E.Message + #13#10'ClassName:'+ClassName;
         Raise;
      end;
   end;
end;
Andreas
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#3

Re: DCOM-Problem - Klasse nicht registriert

  Alt 17. Jun 2004, 11:24
Danke shmia für die Hilfe,

glaube aber das Problem selber schon gelöst zu haben.

Da ich mit der "Frühen Bindung" arbeite, habe ich einfach als letzten Versuch die Typ-Bibliothek (WordPerfect_Tlb" nochmals erzeugt.
Und siehe da, die Fehlermeldung ist verschwunden und WordPerfect wird gestartet.

Die einzige Erklärung, die ich im Moment dafür habe, sind die geänderten GUID's, die nun zur Laufzeit in der Unit stehen.

Ist zwar auch wiedersinnig, weil in den Delphi-Bibliotheken von Office auf allen Entwicklungssystemen gleiche GUID's verwendet werden und diese Exe-Dateien auf jedem anderen System funktionieren, egal auf welchem PC kompiliert.

Nur bei der WordPerfect_Tlb-Datei scheint es sich anders zu verhalten.

Trotzdem lieben Dank und lieben Gruß,
Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 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