Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 2016
-
19 déc. 2013 à 14:46
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 2016
-
19 déc. 2013 à 15:42
Bonjour,
J'ai un tableau défini comme suit:
Private p_astrWndList() as String
pour le remplir dans le code, j'utilise les 2 lignes suivantes:
Redim p_astrWndList(BH_UBound(p_astrWndList) + 1)
p_astrWndList(BH_UBound(p_astrWndList) = (une chaîne de caractères)
BH_UBound est une fonction perso' qui me renvoie -1 si un tableau est vide au lieu de générer bêtement une erreur:
Public Function BH_UBound(SArray As Variant) As Long
On Error GoTo EmptyArray
BH_UBound = UBound(SArray)
Exit Function
EmptyArray:
BH_UBound = -1
End Function
ma question est la suivante:
Je suis quelquefois obligé de réinitialiser mon tableau pour reconstruire ma liste, or je ne vois pas comment faire pour obtenir un tableau vide.
Redim demande une dimension, or si je spécifie 0 (zéro), je n'obtiens pas un tableau vide pais un tableau à une dimension qui elle, est vide.
Si je définis un autre tableau (vide) et qui le reste pour réinitialiser mon 1er tableau comme dans le code ci-dessous:
dim aMyArray() as string
astrWndList=aMyArray
j'obtiens une erreur 458 (la variable utilise un type automation non gérer par VB)
Déjà que je trouve les 2 lignes ci-dessous pas efficientes en terme mémoire, si quelqu'un avait une solution, ce serait sympa.
A voir également:
Cette variable utilise un type automation non géré par visual basic