mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006
-
3 févr. 2005 à 14:18
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
4 févr. 2005 à 12:43
bonjour,
je débute avec delphi et y il a un truc pas très clair pour moi...
j'aimerai utiliser une procédure plusieur fois depuis 2 fiches différentes, mais je ne sais pas où déclarer cette procédure et où la placer.
merci pour vos réponses.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 3 févr. 2005 à 20:54
Pour éviter les référencements croisés qui finissent toujours par amener des problèmes, le mieux est de mettre les procédures, variables et constantes communes dans une unité spécialisée (généralement appelée Common.pas).
Pour cela, faire Fichier/Nouveau/Unité et y placer le code.
Maintenant, imaginons plusieurs autres fiches ayant besoin d'appeler cette même procédure. Pourquoi seraient-elles obligées de référencer l'unité contenant TForm2, au risque de modifier des propriétés au passage, alors que ce n'est absolument pas nécessaire ?
mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006 4 févr. 2005 à 10:28
si je crée une nouvelle untité, voici le code généré par delphi à l'interieur de cette dernière:
unit uCommun;
interface
implementation
end.
or, si je crée une procédure pour tester avec un showmessage, j'ai un message d'erreur qui me dit "directive inconnue: 'showmessafe'
que puis-je faire pour corriger cela?
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 4 févr. 2005 à 12:11
Non, JMP77, la procédure test n'étant pas déclarée dans la partie Interface, elle n'est pas visible de l'extérieur par conséquent, il faut ajouter la déclaration dans la partie interface :
unit uCommun;
interface
Uses Dialogs;
procedure Test;
implementation
procedure test ;
begin
showmessage('test');
end;
end.