Le premier post affichait de facon étrange la fin... Voici le repost
http://support.microsoft.com/kb/199824
Il est rare qu'un programmeur Visual Basic doive obtenir des informations de bas niveau sur une variable, telles que son adresse mémoire. Toutefois, certaines fonctions API requièrent ce type d'informations. Cet article décrit les fonctions Visual Basic qui peuvent aider un programmeur Visual Basic à obtenir ces informations :
VarPtr - Renvoie l'adresse d'une variable.
VarPtrArray - Renvoie l'adresse d'un tableau.
StrPtr - Renvoie l'adresse du tampon de chaîne UNICODE.
VarPtrStringArray - Renvoie l'adresse d'un tableau de chaînes.
ObjPtr - Renvoie le pointeur vers l'interface référencée par une variable objet.
VarPtr
Dans Visual Basic, les tableaux sont stockés en tant que SAFEARRAY. Pour obtenir l'adresse de la structure SAFEARRAY, vous devez utiliser la fonction VarPtrArray. Les exemples ci-dessous illustrent les déclarations appropriées dans Visual Basic 5.0 et dans Visual Basic 6.0, respectivement :
Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long
Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long
Pour obtenir l'adresse d'un SAFEARRAY, passez le nom du SAFEARRAY (parenthèses incluses) à la fonction VarPtrArray :
Dim lngSafeArrayAddress as Long
Dim lngArrayOfLongs(9) as Long
lngSafeArrayAddress = VarPtrArray(lngArrayOfLongs())
Restrictions : La fonction VarPtrArray ne peut pas être utilisée pour obtenir l'adresse d'un tableau de chaînes, parce que Visual Basic utilise la conversion UNICODE/ANSI pour les chaînes. Si vous utilisez VarPtrArray sur un tableau de chaînes, vous obtiendrez l'adresse d'une copie ANSI temporaire du tableau. Pour plus d'informations, consultez les informations relatives à la fonction VarPtrStringArray.
Ça cré des tableaux dynamique remplit de x fois la
meme variable? Je ne suis pas certain du tout! Si oui,
montre moi comment tu as fait. Ça pourrait toujours
m'être utile!!!