Script Liberation mémoire vive ?

Script Liberation mémoire vive ? - VB/VBA/VBS - Programmation

Marsh Posté le 23-06-2003 à 13:30:36    

Salut, je prog en VB, mais le code ke j'utilise pour defragmenter me parait un peu nul, je dis ca dans le sens que lorsque ce code se lance, le programme se fige jusqu'a temps ke la defragmentation soit finie, le code ke j'utilize est:
 
public sub def(Mo as variant) 'fonction
Mo = Val(Mo) * 1024 * 1024 'je raporte ca au Mo
Call Space(Mo) ' je libere...
End Sub 'Fin
 
mais voila le soucis est que si je fais defragmenter beaucoup, le CPU va enormément bosser et alors le programme va figer le temps de la defrag, avez vous une astucve ou un conseil pour ce petit truk?
je pensait a faire par exemple au lieu de defragmenter 100mo d'un coup, y aller en plusieurs fois, c'est a dire:
def 10
def 25
def 40
def 60
def 75
def 100
 
ken pensez vous? un conseil?

Reply

Marsh Posté le 23-06-2003 à 13:30:36   

Reply

Marsh Posté le 23-06-2003 à 14:52:35    

Tu mets le code de défragmentation dans un thread. C'est la meilleure solution, mais en VB c'est pas gagné les threads...
Sinon, quelques DoEvents bien placés devraient rendre ton application plus réactive.
Et essaie de faire des efforts sur l'orthographe...


Message édité par Harkonnen le 23-06-2003 à 14:53:43

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-06-2003 à 15:28:55    

Harkonnen a écrit :

Tu mets le code de défragmentation dans un thread. C'est la meilleure solution, mais en VB c'est pas gagné les threads...
Sinon, quelques DoEvents bien placés devraient rendre ton application plus réactive.
Et essaie de faire des efforts sur l'orthographe...


 
OK pour l'écriture, il est vrai qu'a chaque fois j'oublie, excuse, je tacherai de m'appliquer ;)
concernant les threads ou les DoEvent, je ne voit pas ou je pourrait les placer ou les utiliser... un tout petit coup de main serai le bienvenue ;)
 
Merci de ta reponse
 
Enjoy!

Reply

Marsh Posté le 23-06-2003 à 15:46:21    

Pour les threads, laisse tomber. En VB c'est une galère sans nom et c'est très bancal.
Le DoEvents se place dans une boucle consommatrice de temps, genre While, etc... Ca permet de rendre la main au système pour traiter les messages en attente (dont ceux de l'interface)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed