System.Classes.RegisterClass

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure RegisterClass(AClass: TPersistentClass);

C++

extern DELPHI_PACKAGE void __fastcall RegisterClass(TPersistentClass AClass);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.Classes.pas
System.Classes.hpp
System.Classes System.Classes

Beschreibung

Registriert die Klasse eines persistenten Objekts, damit dessen Klassentyp abgerufen werden kann.

Mit RegisterClass kann eine Klasse beim Streaming-System registriert werden. In einer Formulardeklaration enthaltene Formular- und Komponentenklassen (Instanzvariablen) werden automatisch registriert. Alle anderen in einer Anwendung verwendeten Klassen müssen mit RegisterClass explizit registriert werden, wenn Instanzen gespeichert werden sollen.

Nach der Registrierung können die Klassen vom Streaming-System für Komponenten geladen und gespeichert werden. IdentToInt gibt nil (Delphi) bzw. NULL (C++) zurück, wenn die angegebene Klasse noch nicht registriert ist. FindClass löst in diesem Fall eine Exception aus.

Der Parameter AClass bezeichnet die von TPersistent abgeleitete benutzerdefinierte Klasse. Rufen Sie RegisterClass in einer Registrierungsprozedur auf. In Delphi können Sie den Aufruf auch in den initialization-Abschnitt der Unit mit der Klassendefinition einfügen. In C++ kann der Aufruf auch im Namespace der Compilierungs-Unit, in der die Klasse definiert ist, platziert werden.

Wenn die angegebene Klasse bereits registriert ist, bleibt der Aufruf von RegisterClass ohne Wirkung. Ist bereits eine andere Klasse unter dem angegebenen Namen registriert, löst RegisterClass eine EFilerError-Exception aus.

Anmerkung:  Bei der Registrierung einer Komponente mit RegisterNoIcon oder RegisterComponents wird die Klasse nicht automatisch registriert. RegisterClass muss für die Komponente dann noch explizit aufgerufen werden, damit sie mit der Funktion GetClass abgerufen werden kann.

Siehe auch

Codebeispiele