API:Vcl.SvcMgr.TService.CreateNew

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;

Propriétés

Type Visibilité  Source Unité  Parent
constructor public Vcl.SvcMgr.pas Vcl.SvcMgr TService

Description

Crée une instance d'un module de données et le recense avec l'objet écran global.

Vcl.SvcMgr.TService.CreateNew hérite de System.Classes.TDataModule.CreateNew. Tout le contenu en-dessous de cette ligne se réfère à System.Classes.TDataModule.CreateNew.

Crée une instance d'un module de données et le recense avec l'objet écran global.

Utilisez CreateNew à la place de Create pour créer un module de données sans utiliser le fichier fiche associé pour son initialisation.

Avertissement :  L'utilisation de CreateNew à la place de Create peut provoquer des résultats imprévisibles car la plupart des modules de données sont écrits en supposant que leurs contrôles seront créés depuis le fichier fiche.

CreateNew appelle le constructeur hérité puis informe l'objet écran global de l'existence du module de données.

Le premier argument, AOwner, représente le propriétaire du module de données (habituellement l'application). Le deuxième argument, Dummy, a la valeur 0 par défaut et n'est pas utilisé par ce constructeur. Le système transmet 0 par défaut si le constructeur n'a reçu que le premier argument, AOwner.

CreateNew outrepasse le flux d'entrée du fichier fiche préalablement associé. Par conséquent, vous devez écrire en flux dans un ficher de fiche externe afin de lier les composants visuels avec leurs classes. Vous pouvez mettre en flux le fichier fiche associé en appelant InitInheritedComponent. Pour mettre en flux un autre fichier fiche, encadrez l'appel à CreateNew par des appels à WriteComponentResFile et ReadComponentResFile. Cela donne la séquence de code suivante :

1. Extrait du flux un fichier fiche externe.

2. Crée un nouveau module de données dissocié de tout fichier fiche.

3. Met en flux le fichier fiche externe et le relie à ce nouveau module de données.

WriteComponentResFile('Temp.xfm', DataModule1); ...

DataModule2 := TDataModule.CreateNew(Application);

ReadComponentResFile('Temp.xfm', DataModule2);

Voir aussi