Fonction VarPtr

Signaler
Messages postés
27
Date d'inscription
lundi 7 février 2005
Statut
Membre
Dernière intervention
22 avril 2008
-
le cancre
Messages postés
292
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2009
-
Bonjour, VarPtr n'existe plus en vb 2005, je cherche une fonction qui a remplace, j'en ai trouvé aucune qui fonctionne pour mon programme. si qqn aurais une foncion qui marche je vous en serait très reconnaissant. merci d'avance pour vos réponses.
<hr /> AgLS
A voir également:

5 réponses

Messages postés
27
Date d'inscription
lundi 7 février 2005
Statut
Membre
Dernière intervention
22 avril 2008

excuser moi des lettres qui manque, j'ai un problème avec mon clavier alors j'utilise e claier visue et c'est la merde.

<hr /> Lionel
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
33
A ma connaissance, il n'y a pas moyen de remplacer cette fonction et quelques autres du même acabi.

Il faut revoir le code et le penser autrement de sorte à n'avoir plus besoin de ces fonctions là. C'est généralement faisable.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
2376
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
19
Salut tout le monde :)

Petit rappel VarPtr nous retourne l'adresse de la variable passée en argument (Dim pAdd = VarPtr (MaVariable))
Don rien de plus simple à reproduire en .net. Il suffit d'aller voir dans le namespace System.Runtimes.InteropServices.

Exemple
------------------------------------------------
Public function VarPtr (var as Object) as IntPtr

   'Création d'un handle sur notre objet var
   Dim GCH as GCHandle = GCHandle.Alloc(var,GCHandleType.Pinned)

   'Récupère l'adresse de l'objet
   Dim pVar as IntPtr = GCH.AddrOfPinnedObject

   'Libère le handle GCH crée
   GCH.Free

   'Retourne l'adresse
   Return pVar

End Sub

Et voila ++
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
13
salut,

en réalité la fonction VarPtr traduite en VB.Net ci dessus ne fonctionne pas toujours...du moins renvoie un pointeur vers un objet qui peut être libéré n'importe...et c'est d'ailleurs une fausse information répendue sur le Web...la meilleure solution est bien dans System.Runtime.InteropServices...

www.sharevb.net/Les-API-en-VB-Net.html (existe aussi dans les tutos de ce site mais en plus sale)...

ShareVB
Messages postés
292
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2009

il est sympa ton site