Classe privée

Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 - 4 mars 2011 à 14:49
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 - 6 mars 2011 à 19:20
Bonjour,

j'ai une petite question : existe t-il en Delphi la possibilitée d'écrire une classe privée ?


J'ai un composant (appelons le TMaitreCompo) qui travaille avec d'autre composant (TChildCompo). Tous les deux sont écrits par moi (je veux dire tout simplement par la que je peux modifier le code des classes ;) )

Ce que j'aimerais bien faire c'est interdire la création d'un TChildCompo si celui-ci n'est pas instancié via un TMaitreCompo ...

Bien sur les 2 composants sont installés dans la palette de Delphi ... (chacun dans un *.pas différent)

Une classe privée en Java par exemple permet, si celle-ci est déclarer dans un fichier contenant une autre classe (elle publique) de n'être accessible que via cette classe (publique) (je ne sais pas si je me fait bien comprendre ), et il est donc impossible d'appeler la classe privée en dehors de cette classe

Merci

[color=gray]"There is a theory which states that if ever anybody discovers
exactly what the Universe is for and why it is here, it will
instantly disappear and be replaced by something even more
bizarre and inexplicable. There is another theory which s

2 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
5 mars 2011 à 00:25
Bonsoir

Tout d'abord, Java ce n'est pas Delphi, donc ce n'est pas parce que tu peux faire quelquechose d'un côté que tu puisses le faire de l'autre.

Ceci étant dit, va faire un tour ici pour avoir une vue d'ensemble des possibilités.

Enfin, je ne comprends pas tout. Si tu mets tes 2 composants à disposition dans la palette, ils seront forcement tous les deux "publiques".

Il existe des moyens de ne créer un composant que si celui-ci est par exemple ajouter à un type de parent spécifique (par exemple, controler qu'un type de bouton ne soit ajouter que sur un type de panel spécifique) cela via le SetParent.

Tu peux également faire disparaitre le child de la palette et le déclarer dans la partie implementation du Maitre pour qu'il ne soit visible que par lui.

Bref, tout dépend de ce que tu veux faire de tes composants. Si tu rentres un peu plus dans le détail de ce qu'ils font, il sera alors plus simple de t'aiguiller.

P.S. Tu utilises quelle version de Delphi ?

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
0
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
6 mars 2011 à 19:20
Bonjour,

Oui ca va je pense que je connais la différence entre Java et Delphi, qu'un langage n'est pas un autre et bla bla bla, c'était juste pour l'exemple (que je connaissais en Java tout simplement )


Il existe des moyens de ne créer un composant que si celui-ci est par exemple ajouter à un type de parent spécifique (par exemple, controler qu'un type de bouton ne soit ajouter que sur un type de panel spécifique) cela via le SetParent.

Voila, c'était tout simplement cela que je voulais ... et c'est bien pour ca que les deux compos peuvent être installé dans la palette de Delphi

Merci pour le site, j'avais vu la page mais je n'avais pas trop regardé car cela ne semblait pas répondre tout à fait à ma question ... et je l'avoue, la recherche n'étant pas vraiment aisée sur la page, je ne me suis pas éternisé ...

PS : Désolé pour le "temps de réponse" mais je n'était pas libre avant ce soir

Merci
0
Rejoignez-nous