Alysum
Messages postés9Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention29 mai 2002
-
22 avril 2002 à 11:21
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
24 avril 2002 à 22:03
Bonjour,
J'ai un programme qui a plusieurs Tforms et qui communiquent tous avec un unité (classe sans fenetre Tform) pour mettre a jour ses attributs, utiliser les méthodes, etc..
Donc ma question est: comment déclarer tous ces liens entre les classes, comment créer cette unité sans Tform comme "globale". Il doit y avoir une seule instance de l'unité global dans le programme.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 22 avril 2002 à 19:45
Les clauses Uses sont là pour indiquer au compilateur qu'une unité en utilise une autre.
Rien de plus.
Donc, dans chaque unité qui a besoin d'utiliser l'unité contenant la classe en commun, il suffit de déclarer :
uses :
MaClasseCommune;
ou d'utiliser la commande Fichier/Utiliser l'unité (raccourci ALT+F11).
Note bien que cette unité doit faire partie du projet, sinon ajoutes-là par Projet/Ajouter au projet.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 24 avril 2002 à 13:50
Quand tu utilises la commande Fichier/Utiliser unité, Delphi insère le nom de l'unité <s>après la partie implémentation</s> et non dans la partie interface.
Il te suffit de faire de même.
Dans l'unité 4, après le mot clé Implementation :
Uses Unit1;
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 24 avril 2002 à 15:08
Au niveau de l'unité c'est presque pareil. Si dans la partie Interface d'une unité ( par ex Unit1 ) n'utilise pas les autres unités ( par ex Unit2 ) alors il vaut mieux placer tous les Uses dans la partie Implementation. C'est le cas en particuliers des autres Unités contenant des fiches.
La clause Uses de la partie Interface sert surtout aux déclarations d'unité générales de définition de types non dépendantes des autres unités : par exemple dans toutes les unités contenant une fiche le Uses contient Forms,Classes,StdCtrls etc...
La clause Uses de la partie Implementation défini surtout l'appel aux autres fiches et aux unité de calcul comme SysUtils,Math...
:question) J'espère que mes explications ont été claires...