Utiliser un composant d'une autre unité [Résolu]

Signaler
Messages postés
187
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
28 avril 2011
-
kabbabi
Messages postés
187
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
28 avril 2011
-
Bonjour,

J'ai 3 unités : Unit1 , Unit2 et Unit3 qui devraient communiquer car j'ai placé dans les uses de l'Unit1 : ..., Unit2, Unit3;

Un des boutons de l'Unit1 ouvre la fenêtre de l'Unit2 (Form2). L'Unit3 contient un composant Indy : l'IdFTP qui permet de se connecter à un serveur FTP. Je voudrais qu'à partir de l'Unit2 on puisse contrôler le composant IdFTP1 de l'Unit3 (dans Form3) car l'Unit2 est une fenêtre indiquant "Connexion en cours ...".

Ma question : Comment contrôler les composants d'une autre Unit ?

Merci

4 réponses

Messages postés
187
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
28 avril 2011

J'ai trouvé !
C'est un peu bête mais c'est parce que j'ai un peu tout mélangé pour faire ce projet. Lorsque je faisais appel à Form3, même si l'Unit3 est déclarée, j'avais un EAccessViolation. J'ai alors cherché et recherché et j'ai modifié le source du Project1.dpr pour enfin déclarer l'Unit3 dans le projet et Application.CreateForm(etc);

Merci quand même !

Petite autre question : Je retrouve beaucoup de EAccessViolation. Comment y faire face ?

Cordialement, Kabbabi
Messages postés
3808
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
20 janvier 2020
35
Salut,

essayes comme ça:
Form3.IdFTP1


[hr]@+Cirec
[hr]
Messages postés
187
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
28 avril 2011

J'ai essayé tout ce que j'ai pu avant de poster ce message : J'ai même essayé ce que tu m'as proposé. Cela paraît possible et plausible, mais j'ai TOUJOURS un EAccessViolation :/ !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
6
Si c'est dans le Create de la Form1 c'est normal car Form1.OnCreate est appelé avant que les composants de Form2 et Form3 ne soient créés. Mieux vaut le faire à l'envers, ou alors dans un OnShow mais ne le faire qu'une fois.

Cordialement, Bacterius !