XL 2010 API Windows & Adressage mémoire en VBA

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Je me permets de vous solliciter sur la problématique gestion de l'adressage mémoire par VBA.

En pièce jointe vous trouverez dans le module un code VBA permettant de récupérer l'adresse mémoire de chaque variable déclarée (non initialisé). Les variables étudiées sont numériques (ex : Integer)

Je fais appel à "VarPtr" qui d'après ce que j'ai compris récupère l'adresse en mémoire (du 1er élement si c'est un tableau) ou est située la variable soit :
+ Une adresse au format Long
+ Une adresse au format hexadécimale (en utilisant Hex)

Je me suis permis de déclarer des Integer, Date, Currency, Double, etc ...
En effectuant la soustraction de 2 variables de même types j'obtiens une cohérence sur l'ensemble des variables déclarées à l'exception des variables Bytes.
Ex : un integer est codé sur 2 octets (Adresse variable Integer2 - Adresse variable Integer 1) = 2 octets ?
(i.e. adresse en mémoire contigue)

Tout fonctionne donc en appliquant ce mécanisme (ex : variable Date est codée sur 8 octets) etc ... à l'exception des Byte.

Y a t-il une erreur de raisonnement commis de ma part ? Une incompréhension ou tout simplement j'ai mélangé quelques aspects ?

Merci d'avance de vos lumières,
Cordialement
El Gringo 123456
 

Pièces jointes

  • AdressageMemoire.xlsm
    14.2 KB · Affichages: 41

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Bonjour Dranreb,

Merci beaucoup pour la réponse !!!
Impressionnante l'explication et quelle expérience !!!
Même si tu ne le veux pas tu vas devenir mon mentor ;)

Je sais que je ne te dépasserai pas mais si je peux me rapprocher de ton niveau ça serait déjà pas mal (i.e. résolution de 2017 ;))
Tu viens de me faire un sacré CQFD !!!!!!

Encore merci

Je vais essayer de comprendre cette histoire d'adresse paire mais comme d'hab je pense que je vais avoir du mal ;)

A bientôt
El Gringo 123456
 

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle