Comment créer une classe globale ?

Alysum Messages postés 9 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 29 mai 2002 - 22 avril 2002 à 11:21
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Derniè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.

Merci de votre aide

6 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
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.

May Delphi be with you.
0
Alysum Messages postés 9 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 29 mai 2002
24 avril 2002 à 11:37
Oui mais j'ai un probleme de reference circulaire. Nommons mes classes: 1 2 3 et 4
1 uses 2
2 uses 3
3 uses 4

Mon pb est que que je veux que 4 puisse communiquer avec 1. Comment faire ?
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
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;

May Delphi be with you.
0
Alysum Messages postés 9 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 29 mai 2002
24 avril 2002 à 14:09
merci mais c quoi la difference de mettre uses dans ces deux zones ?
0

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

Posez votre question
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
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...

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
24 avril 2002 à 22:03
Absolument d'accord.
May Delphi be with you.
0
Rejoignez-nous