Vcl.Forms.TCustomForm.CreateNew

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

Propriétés

Type Visibilité  Source Unité  Parent
constructor public Vcl.Forms.pas Vcl.Forms TCustomForm

Description

Crée et initialise une nouvelle fiche.

Utilisez CreateNew au lieu de Create pour créer une fiche sans utiliser le fichier .DFM associé pour l'initialiser. Utilisez toujours CreateNew si le descendant de TCustomForm n'est pas un objet TForm ou un descendant de TForm.

CreateNew outrepasse le flux d'entrée du fichier .DFM associé. Néanmoins, si la fiche contient des composants visuels, vous devez lire un fichier . DFM externe en flux afin de lier les composants visuels avec leurs classes. Si la fiche qui vient d'être créée possède un fichier .DFM externe, vous pouvez appeler InitInheritedComponent à la suite de CreateNew. Si vous devez créer le fichier .dfm de la nouvelle instance de fiche, appelez successivement WriteComponentResFile, CreateNew et ReadComponentResFile. Cela donne la séquence de code suivante :

  1. Ecrire un fichier .DFM externe ;
  2. Créer une nouvelle fiche dissociée d'un fichier ressource .DFM ;
  3. Lire le fichier .DFM externe et le lier à cette nouvelle fiche.
WriteComponentResFile('Temp.dfm', Form1);
...

Form2 := TForm.CreateNew(Application);

ReadComponentResFile('Temp.dfm', Form2);


Avertissement :  L'utilisation de CreateNew au lieu de Create peut provoquer des résultats imprévisibles car la plupart des fiches sont écrites en présumant que leurs contrôles seront créés à partir du fichier .DFM.

La méthode CreateNew appelle Create et InitializeNewForm.

Le premier argument, AOwner, désigne le propriétaire de la fiche (habituellement il s'agit de l'application ou d'une autre fiche). 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.

Voir aussi