System.Classes.InitInheritedComponent

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function InitInheritedComponent(Instance: TComponent; RootAncestor: TClass): Boolean;

C++

extern DELPHI_PACKAGE bool __fastcall InitInheritedComponent(TComponent* Instance, System::TClass RootAncestor);

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Classes.pas
System.Classes.hpp
System.Classes System.Classes

Description

Initialise l'enregistrement d'un fichier fiche pour une classe racine héritée.

Appelez InitInheritedComponent depuis le constructeur d'une classe racine pour démarrer l'enregistrement d'informations dans le fichier fiche associé.

Instance désigne l'objet instancié.

RootAncestor est la classe racine de base dont Instance peut représenter un descendant. Cette classe doit être une classe racine, c'est-à-dire une classe telle que TCustomForm, TFrame ou TDataModule, qui est le point de départ du processus de flux (le composant associé au fichier fiche).

InitInheritedComponent renvoie true si le fichier fiche a été transféré avec succès dans le système de flux, false sinon.

L'appel à InitInheritedComponent est uniquement requis pour les classes de descendants de la classe racine et doit suivre la construction de l'instance d'objet, à l'exception du transfert des propriétés persistantes dans le fichier fiche. Les exemples de code Delphi et C++ suivants montrent des constructeurs de classe racine courants :

constructor TMyRootClass.Create(AOwner: TComponent);

begin inherited Create(AOwner); { construit d'abord une instance d'objet} if (ClassType <> TMyRootClass) and not (csDesigning in ComponentState) then begin if not InitInheritedComponent(Self, TMyRootClass) then raise EResNotFound.CreateFmt(SResNotFound, [ClassName]); end; end;

void TMyRootClass.TMyRootClass(TComponent AOwner);

{ if ( (ClassType != TMyRootClass) && !(ComponentState.Contains(csDesigning)) { if !(InitInheritedComponent(this, TMyRootClass)) throw EResNotFound(SResNotFound, TVarRec theClassName[] = {ClassName}, 1); } }

Voir aussi