Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

EClassNotFound bei selbst entwickelter Komponente

  Alt 16. Jul 2012, 11:18
Hallo!

Ich habe einen eigenen Abkömmling von TSpTBXTabControl geschrieben. Im Constructor werden dann schon ein paar Einträge in die TabToolbar gelegt (TSpTBXLabelItem, TSpTBXTabItem). Beim Testen habe ich die Komponente dynamisch erzeugt und auf ein Form gelegt. Klappt wunderbar. Wenn ich das Ding jetzt aber als Komponente in der IDE (D7 pro) registriere und auf ein Form packe, dann passiert seltsames:

Im Formdesigner sieht alles gut aus, die Einträge in der TabToolbar werden erstellt. Zusätzlich werden alle benötigten Units im Interface-Bereich der Hauptform-Unit ergänzt. Starte ich dann die Anwendung, fliegen mir die EClassNotFounds (TSpTBXLabelItem) nur so um die Ohren, obwohl alle relevanten Units sowohl im Hauptform als auch in der Komponenten-Unit angegeben sind.

Die SpTBXLib ist auch in der Liste der Packages eingetragen bei dem Package, wo ich meine Komponente hinzugefügt habe.

Wo ist da jetzt der Denkfehler?

Grüße
Cody

EDIT: Zum Teil ein Anfängerfehler *schäm* Hab ich doch ein banales if not (csDesigning in ComponentState) vergessen...

Damit erstmal keine Exceptions mehr beim Programmstart. Aber warum werden Klassen, die im .dfm aufgeführt sind, zwar innerhalb der IDE (Designtime) gefunden, beim Runtime-Start dann aber nicht mehr? Und warum werden zeitgleich dynamisch erstellte Klasseninstanzen ganz problemlos erzeugt?

Geändert von Codehunter (16. Jul 2012 um 12:47 Uhr)
  Mit Zitat antworten Zitat