Probleme dans une timer

Genildf Messages postés 272 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 - 5 févr. 2009 à 10:44
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011 - 7 févr. 2009 à 19:32
Jai un souci de mémoire avec mon programme

En public j'ai sa

Dim objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strcomputer & "\root\cimv2")

    Dim colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = 'EPSON AL-C3800 Advanced'")

    Dim objprinter As Object

Dans un timer j'ai cette syntaxe qui permet de mettre l'imprimante toujours en pause

                For Each objprinter In colInstalledPrinters
                    objprinter.Pause()
                Next

Le souci c'est que au fil du temps mon programme prend de plus en plus de ram y a til un moyen de le vider ou de faire autrement?

2 réponses

Genildf Messages postés 272 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
5 févr. 2009 à 14:05
Personne? je cherche a savoir comment vider la memoire vive au fur et a mesure
0
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
7 févr. 2009 à 19:32
 Salut

Il faut mettre les lignes suivantes à l'intérieur de la procedure de ton Timer, et sourtout pas à l'exterieur en Public parce que ça reste toujours en mémoire.

Dim objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strcomputer & "\root\cimv2")

    Dim colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = 'EPSON AL-C3800 Advanced'")
    Dim objprinter As Object

Si le problème persiste, tu peux toujours rajouter en sortant de la procedure:
set objWMIService=nothing
0