Bonjour, j'aurais voulu poser une question concernant l'instruction Unload de VB6
l'instruction unload permet "théoriquement" de décharger une feuille de
la mémoire, par celà, je comprend libérer de la mémoire système la
mémoire utilisé par la feuille à laquelle on utilise cette instruction
Or quand on fait un Unload, la feuille est bien déchargée.... du
programme, mais pas de la mémoire du système, un test très simple
Créez 2 feuilles VB, une feuille principale appelée frmMain
et une feuille secondaire appelée frmAudio, plaquez dans la frmAudio un
contrôle multimédia bien lourd en ressources et un contrôle Command,
dans ds le code de cette feuille mettez :
' MediaPlayer étant OCX et strFileName un nom de fichier audio
Private Sub Form_Load()
Const strFileName as String = "Nom du fichier audio"
MediaPlayer.Open strFileName
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Dans la feuille principale frmMain, mettez 2 boutons, un bouton Test et un bouton Show avec ce code :
Private Sub cmdShow_Click()
frmAudio.Show
End Sub
Private Sub cmdTest_Click()
Dim i as Long
Me.Cls
For i = Forms.Count -1 to 0 Step -1
Me.Print Forms(i).Name
Next i
End Sub
Vala pour les codes, maintenant passons aux tests après compilation du
code (je suis sous win 2000, donc je ne peux que constater par rapport
à mon système....) en ouvrant mon gestionnaire de tache.
Dans mon cas, quand j'ouvre mon programme, il prend 2.4 Mo en Ram
Quand je click sur Show, il passe à 9.1 Mo en Ram pendant la lecture du fichier Audio
Quand je click sur Exit et bien.... la feuille est bien déchargée, mais
malheuresement mon programme occupe toujours 9.1 Mo en Ram, et pour
vérifier le déchargement, en cliquant sur le bouton Test, on verra
qu'il n'y a qu'une seule feuille présente pour l'application.....
J'ai aussi testé de mettre dans l'événement Exit de la feuille frmAudio
Set frmAudio = Nothing
Unload Me
Vu sur le forum, mais que dalle...
Quelqu'un peut me dire comment réellement libérer la mémoire ? car dans
ces cas la, cela sert strictement à rien dans nos programmes de
travailler minutieusement le code en choisissant si on met Unload Me ou
Me.Hide vu que l'application VB n'est pas foutu de libérer cette
mémoire occupée de la Ram.
Merci