PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [WD55b] Fonction Transfert
[WD55b] Fonction Transfert
Débuté par François Semoulin, 09 jan. 2004 10:34 - Aucune réponse
Posté le 09 janvier 2004 - 10:34
Bonjour.

J'ai un souci avec la fonction Transfert.
Je souhaite transférer un tableau A de 2 entiers vers un autre tableau B de
3 entiers.
A[1] doit aller donc dans B[1], A[2] doit aller donc dans B[2, B[3]
conservant sa valeur.
Le code suivant fonctionne:

tiMeilleureQuantiteAllouee est un tableau de 2 entiers
tiQuantiteAllouee est un tableau de 3 entiers
tiQuantiteAllouee[1]0000
tiQuantiteAllouee[2]0001
transfert(&tiMeilleureQuantiteAllouee,&tiQuantiteAllouee,4)

Par contre, j'essaie d'utiliser le même code pour des tableaux dynamiques.
En effet, je dois utiliser des tableaux dynamiques, la dimension des
tableaux n'étant pas connue à l'avance.
Le code devient donc celui-ci:

tiMeilleureQuantiteAllouee est un tableau dynamique
tiQuantiteAllouee est un tableau dynamique
tiQuantiteAllouee=allouer un tableau dynamique de 2 entiers
tiMeilleureQuantiteAllouee=allouer un tableau dynamique de 3 entiers
tiQuantiteAllouee[1]0000
tiQuantiteAllouee[2]0001
transfert(&tiMeilleureQuantiteAllouee,&tiQuantiteAllouee,4)
liberer tiQuantiteAllouee
liberer tiMeilleureQuantiteAllouee

Ce code ne fonctionne pas!
Après le transfert, j'ai 0 dans tiMeilleureQuantiteAllouee, sans toutefois
avoir de message d'erreur.
Pourquoi?
Pour que le transfert fonctionne, il faut spécifier une longueur de 19
octets.
Par contre, WDTST552 plante à la fermeture de la fenêtre dans ce cas.
Quelqu'un peut-il m'aider dans ce problème?

Merci d'avance.

François