Décharger des variables de la mémoire?

Résolu
Radiohead4ever Messages postés 71 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 21 novembre 2006 - 23 juil. 2005 à 22:00
Radiohead4ever Messages postés 71 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 21 novembre 2006 - 24 juil. 2005 à 00:06
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
A voir également:

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 juil. 2005 à 23:23
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
Radiohead4ever Messages postés 71 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 21 novembre 2006
23 juil. 2005 à 22:10
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
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
23 juil. 2005 à 22:12
Redim Cubik(0)



ou



Erase Cubik





Daniel
0
Radiohead4ever Messages postés 71 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 21 novembre 2006
24 juil. 2005 à 00:06
Merci beaucoup ! Très complet comme réponse

RadioHead4Ever
0
Rejoignez-nous