Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Autres langages > Pascal > Lazarus

Lazarus Forum d'entraide sur Lazarus, le RAD de FreePascal, à la poursuite de Delphi

Réponse
 
Outils de la discussion
Vieux 04/11/2008, 19h32   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: octobre 2008
Messages: 38
Par défaut Fenêtre mère / fenêtre fille : erreur "Circular unit reference"

Bonjour,

La prise en main de Lazarus se poursuit, le projet avance à petit pas mais il avance.

Aujourd'hui après avoir fini la gestion des utilisateurs et celle des droits j'attaque le vif du sujet le developpement des différents écrans de l'appli.

Donc en gros voici ce que je veux mettre en place.
'f_' préfixe des fenêtres.

f_princ fenêtre principale
f_benef fenêtre de gestion d'une table
f-article fenêtre de gestion d'une autre table. etc ...

chaque fenêtre est définie et créée au lancement de l'appli.
une unité est bien entendue liée à chacune des fenêtres.

f_princ comporte le composant tmysqlconnection ; au lancement de l'appli, le test de la connection à Mysql est effecté en cas de succès passage à l'étape suivante choix de l'utilisateur et établissment des droits. une fois cette étape effectuée, l'utilisateur a le choix de travailler sur les fiches auquelles il a accès.

dans les unités benef (f_benef) et article (f_article) j'ai bien entendu besoin de ma connection mysql. MAIS dans l'unité principale princ (f_princ) j'ai besoin de lancer l'éxécution de f_benef ou f_article. (J'espère que je suis clair).

Donc si je déclare dans "USES" de princ les unités benef et article je peux à partir de f_princ activer mes fenêtres f_article ou f_benef. mais il m'est alors impossible de déclarer dans USES de f_article ou f_benef mon unité princ qui me permettrait alors d'accéder à mon composant tmysqlconnection. En effet j'ai un message
Code :
benef.pas(9,19) Fatal: Circular unit reference between benef and princ
Bref j'ai pas tout compris et je ne trouve pas mon bonheur dans les documentations.

Merci de vos conseils.

Eric

Dernière modification par Alcatîz ; 07/12/2008 à 14h35
weberick est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/11/2008, 19h59   #2 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: août 2006
Messages: 2 203
Par défaut

Hoe,

Pour résoudre ce problème, la solution est:

Code :
unit u1;
 
uses u2
...
interface
...
implementation
...
end.
Code :
unit u2;
 
uses ...
...
interface
...
implementation
 
uses u1
 
...
end.
Dans une des unités au moins, on ne peut déclarer l'utilisation de l'autre que dans la section implementation.
__________________
Heureux ceux qui n'attendent rien, ils ne seront pas déçus.
droggo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/11/2008, 20h08   #3 (permalink)
Futur Membre du Club
 
Date d'inscription: octobre 2008
Messages: 38
Par défaut

Bonsoir,


Il faut que je me réveille ... cela faisait pas mal de temps que je n'avais pas mis les mains dans le code. et j'ai oublié pas mal de choses

Merci


Eric
weberick est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PASCALF.A.Q PASCALTUTORIELS PASCALSOURCESCOMPILATEURSOUTILSLIVRES

Réponse

Précédent   Forum des développeurs > Autres langages > Pascal > Lazarus



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 01h37.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2009 www.developpez.com - Legal informations