Création de form dynamiquement

cs_jakonil Messages postés 10 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 28 mars 2010 - 15 nov. 2003 à 18:05
manu1506 Messages postés 54 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 avril 2012 - 21 nov. 2003 à 22:33
Bonjour,
bin voilà, j'ai besoin de créer des forms dynamiquement, mais j'y arrive pas.

type TFVisual : class(TForm);

var FVisual1 : TFVisual;
..
..

FVisual1 := TFVisual1.create(application);
FVisual1.parent := nil;
..

A la compilation, j'ai un message d'erreur du genre 'Resource pas trouvé'.

Je vous remercie devotre aide.

JAKONIL[b] 8-)

2 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
16 nov. 2003 à 12:14
Le message du compilateur devrait pourtant te mettre sur la voie.

La classe TForm ne fait que changer la visibilité des propriétés qu'elle hérite de la classe TCustomForm.
Beaucoup de ses méthodes sont déclarées avec la directive Dynamic.
Il appartient donc aux fiches qui en hériteront d'implémenter les méthodes en question.
Quand tu utilises le concepteur de fiches de Delphi, ce dernier crée le flux du fichier .dfm (ou xfm si application clx) et le maintient au fur et à mesure que tu ajoutes ou supprimes des composants.
De toutes façons, quel serait l'intérêt de créer une fiche du type TForm qui ne serait qu'une fiche vide ?
Ce que tu peux faire, c'est de créer une fiche type descendante de TForm et de l'utiliser pour en créer dynamiquement d'autres.
Delphi puisera alors dans les ressources de ton programme et construira une fiche du type demandé.
May Delphi be with you
0
manu1506 Messages postés 54 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 avril 2012
21 nov. 2003 à 22:33
Pour créer une Form dynamiquement sans fichier .dfm ou autre ressource il faut créer la form avec le constructeur CreateNew :
MaForm:=TForm.CreateNew;
0
Rejoignez-nous