Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Fehlermeldung "Klasse nicht registriert"


adina83 - Mi 13.04.11 11:25
Titel: Fehlermeldung "Klasse nicht registriert"
Hallo, ich habe folgendes Problem. Bin mit Delphi 2010 auf windows 7 64 bit umgestiegen. Nun wollte ich eine alte Active-X Komponente (ocx) neu installieren.
Dazu führte ich folgende Schritte durch:
Komponente - Komponente installieren - Active-X Steuerelement importieren
Weiter - Hinzufügen - *.ocx ausgewählt
Weiter - Weiter - In neues Package installieren - Weiter
Namen & Beschreibung verpasst - Fertigstellen

Delphi meldet *.bpl wurde installiert / Es wurde folgende neue Komponente registriert ...

Wenn ich nun eine neue Formularanwendung erstellen und aus der Tool-Palette die Komponente ins Formular ziehe, erhalte ich folgende Fehlermeldung:

"Fehler - Klasse nicht registriert"

Unter Details erfahre ich dann auzugsweise folgendes:

[50080EDC]{rtl140.bpl } ComObj.OleError (Line 1270, "ComObj.pas" + 1) + $11
[50080EEB]{rtl140.bpl } ComObj.OleCheck (Line 1277, "ComObj.pas" + 0) + $7

Wer kann mir sagen was ich falsch mache bzw. wie ich das Problem lösen kann.

Besten Dank im voraus


jaenicke - Mi 13.04.11 12:09

Du kannst versuchen in dem Package irgendwo in initialization oder so RegisterClass aufzurufen.


adina83 - Mi 13.04.11 14:22

Danke für den Tip, leider bin ich noch nicht zur Lsg. vorgedrungen.

In der entstandenen pas-Datei steht eine Registrierung drin


Delphi-Quelltext
1:
2:
3:
4:
procedure Register;
begin
  RegisterComponents(dtlOcxPage, [TSLink2X]);
end;


Im Kopf der pas-Datei steht der folgende Fehler:


Delphi-Quelltext
1:
2:
3:
4:
5:
// Hilfe-String: SLink2XControl Bibliothek
// Liste der Abhäng.: 
//   (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
// Fehler:
//   Fehler beim Erzeugen von Palettenbitmap von (TSLink2X) : Für diese CoClass ist kein Server registriert



Hilft es vielleicht wenn ich mal jemanden das entsprechende ocx-File sende.


trm - Mi 13.04.11 14:24

Nur als Tipp: Ich kenne D2010 nicht, aber unter Win7x64 muss ich Delphi7 als Admin ausführen, da sonst vieles nicht korrekt funktioniert.


adina83 - Mi 13.04.11 14:29

Hab ich schon probiert und unter Eigenschaften
- Kompatibilität - Berechtigungsstufe - Programm als Admin ausführen
angeklickt.

Leider besteht das Problem noch immer.


jaenicke - Mi 13.04.11 14:47

user profile icontrm hat folgendes geschrieben Zum zitierten Posting springen:
Nur als Tipp: Ich kenne D2010 nicht, aber unter Win7x64 muss ich Delphi7 als Admin ausführen, da sonst vieles nicht korrekt funktioniert.
Erstens ist das unter Delphi 2010 nicht mehr notwendig und zweitens ist es auch nicht notwendig Delphi 7 als Admin zu starten, wenn man es denn sauber einrichtet:
http://www.delphi-library.de/viewtopic.php?p=544403
Wenn man es als Admin ausführt, funktionieren nämlich wieder andere Sachen nicht mehr, von den Sicherheitsbedenken einmal ganz abgesehen.

user profile iconadina83 hat folgendes geschrieben Zum zitierten Posting springen:
In der entstandenen pas-Datei steht eine Registrierung drin
RegisterClass sehe ich dort aber nirgends. :nixweiss:
Der Fehler in der .pas liest sich aber eher als ob bei der Registrierung der .ocx etwas nicht geklappt hat.

user profile iconadina83 hat folgendes geschrieben Zum zitierten Posting springen:
Hilft es vielleicht wenn ich mal jemanden das entsprechende ocx-File sende.
Ich kann es mir zu Hause gern einmal anschauen.


adina83 - Mi 13.04.11 15:56

Cool würde dir gern mal die ocx-Datei zusenden. Wie kann ich dir die Datei zukommen lassen.


adina83 - Mi 13.04.11 15:59

Hab die email-Adr. gefunden Sorry


adina83 - Mi 13.04.11 16:23

Ich hab die Lsg. bereits gefunden.

Die expliziete Registrierung und Windows 7 über die Eingabeaufforderung (regsvr32.exe path\*.ocx) hat zum Erfolg geführt.
Beim Installieren in Delphi hat dieses mir auch eine erfolgreich Registrierung gemeldet aber das war wohl nicht genug.


jaenicke - Mi 13.04.11 17:03

user profile iconadina83 hat folgendes geschrieben Zum zitierten Posting springen:
Beim Installieren in Delphi hat dieses mir auch eine erfolgreich Registrierung gemeldet aber das war wohl nicht genug.
Das eine hat mit dem anderen nichts zu tun. In Delphi installierst du ausschließlich die Komponente in Delphi. Das hat nichts mit dem Control in Windows zu tun. ;-)