Composant dans composant 2eme edition

cs_vib Messages postés 30 Date d'inscription jeudi 15 novembre 2001 Statut Membre Dernière intervention 23 février 2002 - 23 févr. 2002 à 01:21
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 23 févr. 2002 à 21:58
Je continue mon apprentissage dans la création d'un composant et la je bloque:
Je désire à partir d'un Tgraphiccontrol, ajouter à l'affichage deux Tshape qui entourent le composant.
Je déclare les 2 Tshape, je surcharge le constructeur en créant les shape (trait:=Tshape.create(AOwner) et les place par rapport au composant.
J'installe le composant, pas de probleme,
J'ouvre une nouvelle application, je place mon nouveau composant sur la feuille et lorsque je lance l'appli, Delphi m'indique l'erreur 'Class Tshape non trouvé' ! Je ne comprens pas puisque j'ai mis dans le uses du composant 'graphics'.
Quelqu'un a la réponse ?
Merci

5 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 févr. 2002 à 08:42
J'ai constaté le même phénomène.
Dans Projet/Options/Chemins et répertoires, inscris l'emplacement sur ton disque de l'unité contenant ton composant ou bien :
*** Autre solution (préconisée par Borland), crées un paquet (Fichier/Nouveau/Paquet) et ajoutes l'unité de ton composant. Modifies les options de ce paquet (ici conception et éxécution), compiles et installes ce nouveau paquet.
Avant d'installer ce nouveau paquet par Composant/Installer des paquets, n'oublies pas de désinstaller ton composant installé en solitaire.
0
cs_vib Messages postés 30 Date d'inscription jeudi 15 novembre 2001 Statut Membre Dernière intervention 23 février 2002
23 févr. 2002 à 13:52
Delphiprog, tu n'as pas compris mon probleme, je crois...
Delphi reconnait bien mon composant mais lors de l'execution, il me met ce message 'class Tshape non trouvé' et je crois savoir pourquoi:
je créé un composant à partir de la class TgraphicControl. Et je pense qu' à ce niveau de hiérarchie, Tshape est inconnue !
N'hésites pas à me dire si j'ai tort ou non !
A+
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 févr. 2002 à 14:42
Effectivement, nous n'étions pas sur la même longueur d'onde :sleepy) .
Cependant, la notion de paquets d'éxécution est-elle totalement étrangére au problème rencontré ?
0
cs_vib Messages postés 30 Date d'inscription jeudi 15 novembre 2001 Statut Membre Dernière intervention 23 février 2002
23 févr. 2002 à 18:39
J'ai effectué les manip que tu m'as proposé et c'est pareil.
N'est ce pas un probleme de hierarchie ? La class Tshape fait partie de TgraphicControl. Tshape reconnait TGraphicControl vu que c'est son parent mais pas l'inverse.
Ca se trouve je dis n'importe quoi...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 févr. 2002 à 21:58
J'ai un doute : tes TShape sont inclus dans une autre contrôle. Sont-ils déclarés dans la partie published du contrôle parent ?
Pourquoi cette question : ce qui figure dans la partie published est mis dans le flux sauvegardé du composant et de la fiche propriétaire.

Or la classe TGraphicControl ne déclare aucune méthode Published. Donc aucune propriété ou méthode ne sera sauvegardée dans le flux de la fiche propriétaire du contrôle.
Ce qui explique que la calsse TShape déclarée dans le code soit introuvable dans le flux de la fiche au lancement de l'appli.

Qu'en penses-tu ?
0
Rejoignez-nous