AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi StringToComponent (Class TPanel not found.)

StringToComponent (Class TPanel not found.)

Ein Thema von globalenemy · begonnen am 23. Apr 2014 · letzter Beitrag vom 23. Apr 2014
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#3

AW: StringToComponent (Class TPanel not found.)

  Alt 23. Apr 2014, 14:16
Nein, es müssen die Komponenten erst registriert werden, welche man da verwenden will,
denn wie soll der Loader die Typen sonst finden? (und wehe jemand erwähnt die neue RTTI, denn Diese kennt der Loader nicht)
Siehe RegisterClass(MyScrollBar); in dem Beispiel.


Ich empfehle diese aber vor Aufruf der Ladefunktion zu registrieren und danach dann (im finally) wieder zu deregistrieren, denn eine Klasse darf nur einmal registriert sein und der zweite Versuch wird eine Exception werfen (falls das nicht inzwischen umgebaut wurde).
(in dem Beispiel ging das, da die klasse sonst nirgendwo verwendet wird)

PS: Der VCL-Loader, welcher die DFMs läd, da hat entweder der Compiler oder der Loader (weiß jetzt nicht wer das genau macht) aus der Klassendefinition die Typen der published Felder ausgelesen und holt sich darüber die Typen, registriert Diese und läd dann erst die DFM.



[add]
RTTI: Man kann über einen unqulifizierten Namen (ohne Namespace/Unit) keinen Typen genau bestimmen/suchen.
Erstellt mal mehrere Units, da drin ist überall je eine TForm1 und dann versucht über die RTTI die "richtige" TForm1 aus den Vielen rauszufinden.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (23. Apr 2014 um 15:07 Uhr)
  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 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz