2010-03-15 5 views
0

J'ai créé un nouveau composant VCL basé sur un composant VCL existant. Ce que je veux faire maintenant est de définir les propriétés Password et Username d'un fichier ini à la place de l'inspecteur de propriétés.Comment cacher une propriété __published héritée dans la classe dérivée dans un composant VCL?

Robert Dunn Link

J'ai lu sur le forum delphi ci-dessus, vous ne pouvez pas dépublier une propriété et que la seule solution consiste à redéclarer la propriété en lecture seule. J'ai essayé ceci mais tout ce qu'il fait est de rendre la propriété en lecture seule et grisée dans l'inspecteur d'objets. Bien que cela puisse fonctionner, je préférerais que la propriété ne soit pas visible du tout.

__property Système :: UnicodeString Mot de passe = {read = FPassword}; Merci d'avance pour toute aide ou liens vers des tutoriels d'écriture de composants VCL C++. J'utilise CB2010

Répondre

2

Rechercher DesignIntf.UnlistPublishedProperty. Voir this tread.

+0

woohoo, ça marche :) merci! –

0

La langue telle que définie ne vous permettra pas de masquer les propriétés publiées.

Je voudrais utiliser l'agrégation au lieu de l'héritage, c'est-à-dire créer un nouveau composant VCL qui délègue ses méthodes au composant existant, vous avez alors un contrôle total sur les propriétés à publier.

Questions connexes