Bonjour à tous
Je demande vos lumières pour une erreur incompréhensible que je n'ai jamais rencontrée.
J'appelle une fonction pour affecter sa valeur à une variable.
La fonction est dans une unité différente de l'unité où se fait l'appel mais c'est une opétation tout-à-fait courante, non ?
Or, la valeur de la variable après appel de ma fonction est égale à 0 alors que la fonction renvoie une valeur de 5. J'en ai la certitude après exécution en mode pas à pas.
Voici le code de l'appelLa fonction appelée est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function TStreetForm.NearBtnAction(Parcel : TPolygParams) : Boolean; Var NoLayer : Integer; LayerDirName : String; . . begin . . LayerDirName := TableDbleLieu.FieldValues['DivCode'] + TableDbleLieu.FieldValues['Sect']; NoLayer := MapForm.NoLayerFromLayerName(MapForm.Map, LayerDirName + 'CaPa'); . .Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Function TMapForm.NoLayerFromLayerName(Map : TMap; LName : String) : Integer; Var i : Integer; begin For i := 0 to Map.NumLayers - 1 do if Map.LayerName[i] = LName then begin Result := i; Break; end; end;
Merci d'avance pour vos suggestions.
Partager