Page 1 sur 1

Problème de structure!

Publié : mer. 21/avr./2004 14:00
par Chris
Ya un truc qui m'échappe! :?

Code : Tout sélectionner

Structure TRUC
  Val_1.w
  Val_2.w
  Val_3.w
EndStructure

Structure MACHIN
  Valeur1.w
  Valeur2.TRUC
EndStructure

ValTruc.TRUC
ValMachin.MACHIN

; Je donnes des valeurs aux champs de TRUC
ValTruc\Val_1 = 123
ValTruc\Val_2 = 456
ValTruc\Val_3 = 789

; Ici, je retrouve bien la valeur que j'ai entré pour Val_1
Debug ValTruc\Val_1

; Ici, ça doit être l'adresse de la structure TRUC
Debug ValMachin\Valeur2

; Pourtant, ici, ça me retourne 0 ???
Debug ValMachin\Valeur2\Val_1
Normalement, le troisième debug devrait me retourner "123", non???

Bien sur, on peut remplir cette valeur comme ça :

Code : Tout sélectionner

ValMachin\Valeur2\Val_1 = 123
mais je pensais qu'on pouvait remplir la structure TRUC séparément

Chris :)

Publié : mer. 21/avr./2004 14:34
par cederavic
ben non et heureusement, sinon tu ne pourait avoir qu'une seulle variable pour d'un type...

Publié : mer. 21/avr./2004 20:30
par filperj
Autrement dit, ValTruc et ValMachin sont 2 variables distinctes...
Et c'est logique, puisque tu les déclares séparément! :wink:

Publié : mer. 21/avr./2004 20:42
par comtois

Code : Tout sélectionner

ValTruc.TRUC 
je comprends cette ligne de la façon suivante , si je me trompe , merci de corriger :) :

la déclaration ValTruc.TRUC réserve une zone mémoire de la taille de SizeOf(TRUC) .

et @ValTruc te donne le début de l'adresse .

en faisant

Code : Tout sélectionner

ValTruc.TRUC 
ValMachin.MACHIN 
tu as bien deux zones mémoires distinctes , et de taille SizeOf(TRUC) pour ValTruc , et de taille SizeOf(MACHIN) pour ValMachin .