Etrange.... copymemory

Résolu
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008 - 10 août 2004 à 12:21
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008 - 10 août 2004 à 12:52
Bonjour! Voila mon code:

Public Property Get Properties() As String()
ReDim Properties(1 To DefsCount)
CopyMemory Properties(1), mProperty(1), DefsCount
End Property

mProperty est un tableau de valeur string

J'ai l'impression que CopyMemory ne fonctionne pas ac une Property. C'est ca?

Sauf qu'il parait que c'est plus rapide que for loop et un asignement tab1=tab2.

Je suis obligé d'utiliser une des 2?!

Merci!

2 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
10 août 2004 à 12:48
wow fait gaffe avec ça tu peut tout faire peter ! non serieusement ta formule c'est du n'importe quoi pour plusieurs raison :

1 - copymemory s'emplois avec precaution et quand on peut pas faire autrement (sous peine d'access denied non geré dans vb)

2 - quand on copie une chaine un utilise ByVal sinon on envoi un pointeur (BSTR) au lieu d'une chaine ansi

3 - le paramettre Length est une taille en octet et pas un index de tableau

4 - les tableaux dynamique de chaine ne ce copie pas avec copymemory

5 - et j'en passe...

Conclusion utilise Do loop ne va pas chercher la complication la ou il n'y en a pas.

Bon courage & @+

E.B.
3
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008
10 août 2004 à 12:52
Ok merci pour ton aide! Finallement j'ai fais l'asignation de tableau c'est plus rapide que do loop.
Maintenant que tu le dis ca m'est arrivé souvent de planter vb quand j'utilisais copymemory ;)
0
Rejoignez-nous