Page 1 sur 1

remplir une structure depuis une procedure

Publié : ven. 17/sept./2010 3:03
par case
j'ai posté ceci dans le forum anglais car je pense qu'il s'agit d'un bug
vous en pensez quoi ?

en gros si on cree une variable contenant une structure et qu'on veux copier une autre variable dedans a partir d'une procédure on dois obligatoirement y mettre quelque chose dedans avant

cela ne se produit pas si les deux structures sont dans le programme principal

Code : Tout sélectionner

Structure blah
  a.i
  b.i
EndStructure

Procedure fillvar(*adress)
 
my_var2.blah ; temp variable

my_var2\a=10
my_var2\b=20
 
CopyStructure(@my_var2,*adress,blah)

EndProcedure


my_var.blah ; create a new structured variable

fillvar(@my_var) ; fill it with value from a procedure

Debug my_var\a ; should be 10
Debug my_var\b ; should be 20

;----------------------------------

my_var\a=0 ; put a void value in the structure

fillvar(@my_var)


Debug my_var\a ; OK
Debug my_var\b ; OK

Re: remplir une structure depuis une procedure

Publié : ven. 17/sept./2010 8:08
par PAPIPP
Bonjour Case
chez moi tout est OK
j'ai utilisé une procédure un peu plus simple
mais peut-être que cela n'est pas ce que tu cherches
Structure blah
a.i
b.i
EndStructure
Procedure fillvarn(*ad.blah)
*ad\a=10
*ad\b=20
EndProcedure

Procedure fillvar(*adress)

my_var2.blah ; temp variable

my_var2\a=10
my_var2\b=20

CopyStructure(@my_var2,*adress,blah)

EndProcedure


my_var.blah ; create a new structured variable

fillvar(@my_var) ; fill it with value from a procedure
Debug "******* après appel fillvar *****"
Debug my_var\a ; should be 10
Debug my_var\b ; should be 20

;----------------------------------

my_var\a=0 ; put a void value in the structure
Debug "******* après my_var\a=0 *****"
Gosub deb_str
fillvar(@my_var)
Debug "******* après nouvel appel fillvar *****"
Gosub deb_str
ClearStructure(@my_var,blah)
Debug "******* après clearstructue *****"
Gosub deb_str
Debug "******* après appel nouveau fillvarn *****"
fillvarn(@my_var)
Gosub deb_str
End
deb_str:
Debug my_var\a ; OK
Debug my_var\b ; OK
Return
A+

Re: remplir une structure depuis une procedure

Publié : ven. 17/sept./2010 11:14
par case
:oops: j'avais pas mis la 4.51, j'etais en 4.50 ...
la ca fonctionne...
comme quoi...