Pb : Vérification de la mémoire prise par une structure de donnée

cs_Cyrik Messages postés 10 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 13 août 2003 - 9 déc. 2002 à 09:01
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 10 déc. 2002 à 20:17
Salut tout le monde,

Mon problème est simple, j'aimerais trouver un moyen de calculer l'espace pris par certains type de données (collection, tableau dynamique ...) et pour cela je voulais trouver un moyen de vérifier la place mémoire restante disponible.

Manque de chance, l'api Globale Memory Status de Windows ne semble pas fonctionner pour cela (quand j'ajoute 100000 éléments à une collection la place prise libre restante de mon prog ne change pas !). Avez vous une solution ?

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
9 déc. 2002 à 09:18
Va voir dans mes sources celle nommée AIDE SUR LES PRINCIPALES API, tu y trouvera une liste d'API, et je crois qu'il en existe qui te permette d'avoir la mémoire disponible...

DARK SIDIOUS
0
cs_Cyrik Messages postés 10 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 13 août 2003
9 déc. 2002 à 18:12
Arg,

Il semble que l'api dont tu parles est celle que j'ai utilisée. Ca doit être parce que je n'arrive pas à la faire marcher.

Je m'explique en rappelant mon but: vérifier l'espace mémoire prise par des structures persos (à base de collection et tableau redimensionnable).

Quand j'utilise GlobalMemoryStatus, cela renvoie une réponse à plusieurs champs. Je crois pourtant les avoir toutes testées. J'obtiens aucun changement sur dwAvailVirtual (qui devrait contenir l'espace libre totale) et sur dwAvailPhys (qui devrait contenir la taille de la mémoire physique disponible ) j'obtiens des changements alléatoire ce qui parrait logique, vu que le Sys. d'exploitation doit tourner.

Donc, je me retrouve tjrs autant coincé, comment vérifier la taille de mes structures de données ?

Merci d'avance de votre aide

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
9 déc. 2002 à 19:18
Bon alors, tout d'abord, tu peux me tutoyer ;-)

Va faire un petit tour dans l'aide de VB, et tape le nom d'un type de variable.
L'aide va te donner une liste des différents types de variables avec leurs tailles prises dans la mémoire, je pense que ca peut être une alternative intéressante pour calculer la taille prise par tes variables perso.

DARK SIDIOUS
0
cs_Cyrik Messages postés 10 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 13 août 2003
10 déc. 2002 à 17:13
Arg 2 le retour,

MERci de répondre à nouveau, mais ca ne résoud pas mon pb, car j'ai regarder partout dans l'aide. Et jamais ne figure la taille d'un tableau dynamique, ni celle d'une collection (c surtout celle ci qui m'intéresse)

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
10 déc. 2002 à 20:17
Et bien tape Integer, puis choisit résume des types de variables. Comme ca tu aura la place prise par UNE variable dans la mémoire. Si tu as une collection du style :

INT_Nombre as Integer
LNG_Nombre as long

Alors la place prise dans la mémoire sera de :

2 octets + 4 octets, c'est à dire 6 octets. tout simplement

DARK SIDIOUS
0
Rejoignez-nous