bonjour
Savez vous svp comment faire heriter une classe de toutes les prorietes de TCostumForm,lorsque cette derniere n'en possede qu'une partie ??????????????????????????
bonjour
Savez vous svp comment faire heriter une classe de toutes les prorietes de TCostumForm,lorsque cette derniere n'en possede qu'une partie ??????????????????????????
Que veux-tu dire par
?lorsque cette derniere n'en possede qu'une partie
Lorsqu'une classe hérite d'une autre, elle hérite de toutes les propriétés et méthodes public, published et protected de cette dernière. Est-ce que tu veux aussi hériter des membres privés ?
mais en creant l'Active form qui est une fiche avant tout, pourquoi ne possede t elle pas alors toutes les proprietes d'une Tform classiques ?
Bonjour,
De quelle(s) propriété(s) parles-tu ?
Comment ta form est créée ? (Dynamique ou non)
Il y aurait des propriétés non accessibles en conception ou en exécution ?
Précise un poil.
Envoyé par paolo2002
Je ne comprends pas. C'est une instance de TCustomForm que tu as besoin ou TForm ? Pourquoi voudrais-tu créer une TCustomForm si c'est d'une TForm dont tu as besoin ?Envoyé par paolo2002
Je suis d'accord avec Yurck --> on aurait besoin de précision
Mais pour répondre à la question du post (même si j'ai aucune idée si la réponse est pour t'aider compte tenu du fait que j'ai aucune idée de ton objectif final), la raison pour laquelle TCustomForm n'affiche pas toute les propriétés est dans l'aide de Delphi :
En gros, ça dit que TCustomForm est une classe de base. Elle ne devrait servir qu'à implémenter d'autres classes de type Form qui, elles, vont redéclarer public les propriétés que TCustomForm laisse protected (si la classe en a besoin, évidemment). En créant un objet de type TCustomForm, tu laisses délibérément de côté toutes les propriétés protected de la classe (et y'en a un paquetEnvoyé par Delphi
).
Un bon truc pour en connaître d'avantage est de regarder dans les sources de la VCL. Si tu regardes le code de TForm, tu vas constater 2 choses:
- C'est simple
- TForm hérite de TCustomForm et met publiques (published, en fait) les propriétés de TCustomForm dont la classe a besoin
Donc, je résume.
Si tu as besoin d'une fiche avec toutes les propriétés de TForm, créé simplement un objet TForm. Si tu en as besoin que d'une partie, créé une nouvelle classe héritant de TCustomForm et redéclare public les propriétés de TCustomForm protected dont tu as besoin. Ensuite créé un objet de ta nouvelle classe.
Voilà!
Bon dev!
Partager