Bonjour,
J'ai créé plusieurs frames que j'ai recensé dans ma palette de composants en mettant les unités correspondantes dans des paquets et en implémentant la procedure Register.
Ces frames sont réutilisables dans plusieurs fiches...
Voilà mon problème, parfois après avoir modifié une fiche utilisant une de ces frames je me rend compte que les composants internes à la frame deviennent accessibles via le concepteur de fiche, alors qu'initialement ce n'est pas le cas (la frame est vu comme un seul composant). Je m'explique : Dans le fichier dfm de ma fiche, Delphi remplace le mot clé "object" par "inline" pour déclarer ma frame, du coup celle-ci déclare tous ses sous-objets, et ceux-ci deviennent donc manipulables dans le concepteur.
Hors j'ai remarqué que lorsque mes frames sont déclarées en inline à l'exécution je me trouve confronté à des bugs incompréhensibles (violations d'accès aléatoires, composants en double, etc...).
Qu'est-ce qui fait que Delphi déclare un composant en inline et non en object dans un fichier dfm ? Comment l'éviter ?
Merci d'avance.
Partager