Décharger des variables de la mémoire? [Résolu]

Signaler
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006
-
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006
-
Voici le code :



<HR>
Option Explicit
Public Type Obj
be As Boolean
solid As Boolean
objText As String
objMat As String
geo As String
posX As Single
posY As Single
posZ As Single
rotation As R3DVector3D
transparent As Boolean
colorkey As Boolean
End Type

Public Cubik(1 To 125000) As Obj



<HR>

Durant mon jeu, je remplis les "sous-variables" de mes cubik(1 to 125000). Mais ces sous-variables ne sont utiles que pour une seule "map"... Lorsque je change de monde, je doit toutes les redéfinir à neuf et là est mon problème.. Comment recommencer à neuf? C'est à dire, comment faire pour "détruire" tous mes cubiks et toutes leurs "sous-valeurs" pour ensuite les recharger avec la nouvelle map? Je sais comment recharger, mais je sais pas comment détruire.. ou plutot "vider", afin que ca ne prenne pas de mémoire pendant le jeu. Merci de votre aide !

Voici ce que j'ai esseyé jusqu'à présent :

<HR>
Public sub Dechargement()

Dim i as integer
For i = 1 to 125000

Cubik(i) = Nothing 'De ces trois essais, rien ne fonctionne...
Cubik(i) = Null
Cubik(i) = Empty

Next i
End Sub

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut
Gobillot a raison.
Par contre, je pense qu'un tableau défini 'en dur' ne peut pas être redéfini avec Redim.
Il va falloir déclarer ton tableau dynamiquement pour l'utiliser comme ça :
A la place de Redim Cubik(1 To 125000) As Obj
Utilise Public Cubik() As Obj
Et dans ta Sub Main ou dans ton premier Form_Load, dimensionne :
Redim Cubik(1 To 125000)
C'est cette même commande que tu réutilisera pour vider ton tableau.

Pour être complet, Redim Preserve Cubik(1 To 125000) permettrait de changer le format du tableau tout en préservant le contenu de chaque index, sauf bien sûr si la quantité diminuait.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006

Je me suis trompé, ce que j'ai esseyé est plutôt :

<HR>
Public sub Dechargement()

Dim l as Long
For l = 1 to 125000

Cubik(i) = Nothing 'De ces trois essais, rien ne fonctionne...
Cubik(i) = Null
Cubik(i) = Empty

Next l
End Sub
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
Redim Cubik(0)



ou



Erase Cubik





Daniel
Messages postés
71
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
21 novembre 2006

Merci beaucoup ! Très complet comme réponse

RadioHead4Ever