Problème avec mémoire Vive

YahnIck Messages postés 13 Date d'inscription jeudi 13 juin 2002 Statut Membre Dernière intervention 19 septembre 2002 - 19 sept. 2002 à 13:46
YahnIck Messages postés 13 Date d'inscription jeudi 13 juin 2002 Statut Membre Dernière intervention 19 septembre 2002 - 19 sept. 2002 à 16:37
avec VB6 je fait une création de fichier textes d'une taille de 40 Mo environs.

avec une boucle For le prog crée un fichier texte à chaque tour de boucle.

mon problème c'est que au fur et à mesur que le programme crée les fichiers texte, la quantité de mémoire vive disponible diminue aussi. et au bout de 20 fichiers créés je suis à 100% d'utilisation de la mémoire vive. ( j'ai + de 700 Mo ram)
je comprend pas pourquoi alors que les fichiers sont créés sur le disque dur???

est ce quelqu'un pourrait m'expliquer pourquoi et comment résoudre le problème (récuperer la mémoire)

merci de votre attention

a+

yann

4 réponses

cs_processus Messages postés 360 Date d'inscription vendredi 24 août 2001 Statut Membre Dernière intervention 9 juillet 2008 3
19 sept. 2002 à 15:43
Comment tu remplit ton fichier ? Sans la routine complète, je ne peut pas t'aider.

==============
Site Web de JDPROG
Présentation de MP3 Index
Logiciel d'indexation de fichier MP3

http://jdprog.fr.st
0
YahnIck Messages postés 13 Date d'inscription jeudi 13 juin 2002 Statut Membre Dernière intervention 19 septembre 2002
19 sept. 2002 à 15:52
voici le code :
For m1 = f2 To f3 Step Val(Form5.Text1.Text)
compteur1 = compteur1 + 1
Form1.Text5.Text = m1
Form1.Text9.Text = (Val(Form5.Text1.Text) + Val(Form5.Text3.Text)) + m1
compteur2 = 0
For m2 = f4 To f5 Step Val(Form5.Text2.Text)
compteur2 = compteur2 + 1
Form1.Text6.Text = m2
Form1.Text10.Text = (Val(Form5.Text2.Text) + Val(Form5.Text4.Text)) + m2
If Val(Form1.Text9.Text) > 90 Then Text9.Text = 90
If Val(Form1.Text10.Text) > 360 Then Text10.Text = 360 'deb ' fin
Form1.CommonDialog1.FileName = Mid(nom$, 1, Len(nom$) - 4) & "wrl" & compteur1 & "_" & compteur2 & ".pov"
Open Form1.CommonDialog1.FileName For Output As #1
Print #1, "background { color <1,1,1> }"
Print #1, "union{"
Call fichier_POV(rayon, flux, thermla0, zoom, latitude, longitude, beta, vue, maxi, mini, maxi2, mini2)
Print #1, "rotate < 0, "; longitude + 180; ", "; latitude * (-1); " > "
Print #1, "}"
Print #1, "camera{location <"; Val(Form5.Text5.Text); " ,0 , 0 > look_at < 0.0 , 0.0 , 0.0 > }"
Print #1, "light_source { <1000 ,0 ,0 > color red 1.0 green 1.0 blue 1.0}"
Close #1
Next m2
Next m1
0
cs_processus Messages postés 360 Date d'inscription vendredi 24 août 2001 Statut Membre Dernière intervention 9 juillet 2008 3
19 sept. 2002 à 16:12
Je doute que cela vienne du remplissage du fichier. Elle fait quoi ta fonction fichier_POV ?

==============
Site Web de JDPROG
Présentation de MP3 Index
Logiciel d'indexation de fichier MP3

http://jdprog.fr.st
0
YahnIck Messages postés 13 Date d'inscription jeudi 13 juin 2002 Statut Membre Dernière intervention 19 septembre 2002
19 sept. 2002 à 16:37
ben si je pense que cela viens de là
car le code cidessous me donne le même pb
Dim FileNumber As Long
Dim i_ligne As Long
Dim j_fichier As Long

For j_fichier = 1 To 30
FileNumber = FreeFile
Open "c:\test" & CStr(j_fichier) & ".txt" For Output As #FileNumber
For i_ligne = 0 To 3500000
Print #FileNumber, "azertyuiop"
Next i_ligne
Close #FileNumber
Next j_fichier

avec ce code ma mémoire est saturée au 17 eme fichier
j'ai essayé ce code aussi

même problème:
Private Sub Command1_Click()
For j = 0 To 15
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\fichiertest" & j & ".txt", True)
For i = 0 To 4000000
a.WriteLine ("0123456789")
Next i
a.Close
Next j
End Sub
0
Rejoignez-nous