Bonjour
Je suis souvent confronté à ce problème et je n'ai jamais vraiment trouvé de solution autre que déplacer des éléments de code.
Voici un exemple qui ne fonctionne pas :
A la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 procedure Test procedure Toto(truc: string); begin // end; begin TThread.CreateAnonymousThread( procedure begin Toto('bidule'); end ).Start; end;
Pour résoudre le problème, je peux déplacer ma procédure Toto au niveau supérieur de ma classe et ça fonctionnera.[dcc32 Erreur] Unitcode.pas(2358): E2555 Impossible de capturer le symbole 'Toto'
Question 1 : Pourquoi ?
Question 2 : Quelles sont les règles de portée pour les variables, constantes, procédures, etc. dans ce genre de situation ?
Partager