5 messages in org.openoffice.fr.progRe: [prog] Bug avec "dim preserve" da...
FromSent OnAttachments
FabienOct 16, 2008 3:45 pm 
FabienOct 16, 2008 11:09 pm 
FabienOct 16, 2008 11:41 pm 
Francois GattoOct 16, 2008 11:47 pm 
FabienOct 17, 2008 1:57 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Bug avec "dim preserve" dans OOo3Actions...
From:Fabien (fabs@wanadoo.fr)
Date:Oct 17, 2008 1:57:34 am
List:org.openoffice.fr.prog

Le Friday 17 October 2008 10:47:47 Francois Gatto, vous avez écrit :

Bonjour,

Fabien a écrit :

Bonjour,

Sauf erreur de ma part, je crois que je suis tombé sur un bug gênant. Si je considère la procédure suivante:

Sub test dim st(2) as string st=array("a","b","c") print st(0) ReDim Preserve st(1) print st(0) end sub

Normalement, cette procédure devrait renvoyer deux fois "a". Or le deuxième "print" me renvoie une chaîne vide...

En effet et il s'agit là d'un bug !

Toutefois, juste pour préciser les choses, il convient bien de travailler sur des variables de même type. Or dans ton code, l'instruction ReDim sous entend un type Variant

Merci. Je viens de comprendre.

Effectivement, ceci marche:

Sub test         dim st         st=array("a","b","c")         print st(0)         ReDim Preserve st(1)         print st(0) end sub

L'informatique a parfois ses subtilités qu'il faut du temps à saisir...

On peut contourner le problème en définissant explicitement le type Variant ou implicitement en ne fournissant pas le typage.

Je contourne le problème en utilisant une variable variant temporaire puis en recopiant tous les éléments dans un tableau de chaines (Chaque élément du variant reste en effet une chaine). Un peu lourd, mais ça m'évite des surprises de compatibilité de variables pour la suite.

Merci,