W@$h!
Messages postés70Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention16 juin 2010
-
7 avril 2009 à 16:56
W@$h!
Messages postés70Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention16 juin 2010
-
7 avril 2009 à 21:21
Bonjour à tous,
Voilà mon problème : je suis en train de develloper un programme en VB6.
Ce programme fait un traitement sur de gros fichier (type films a 700 Mo) en utilisant une DLL que j'ai programmé en C.
Le programme fonctionne sans souci, cela dit pendant le traitement, je perd le contrôle du programme ("form1 (Ne répond pas)")
Le problème, c'est que je me suis bien appliqué a programmer une form qui indique l'etat d'avancement du programme, mais rien à faire, elle plante dès l'ouverture...
Label4.Caption = List1.List(i) 'On affiche le nom du fichier en cours de traitement dans la frame d'avancement
retour = Traitement(OriginalFile, FinalFile, Text1.Text) 'La fonction traitement est la fonction de ma DLL
Next
Frame3.Visible = False 'On masque la frame d'avancement, normal : c'est fini...
Le problème est que la premiere ligne, l'affichage de la frame3, ne se fait pas! Et ma form devient "flou" (sous vista, c'est un signe que ca va pas... :) )
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 7 avril 2009 à 18:04
Cà, ce n'est que le code de traitement d'une liste déjà remplie et l'affichage, juste avant, de ton Frame3
Ca ne nous dit pas vraiment grand chose ...
On peut toutefois deviner un tout petit peu :
Mets voir un DoEvents à la ligne juste après
Label4.Caption = List1.List(i)
Je ne comprends par contre pas pourquoi ton Frame n'est pas visible dès la première ligne !
Mets un Doevents juste après égalemen,t + un Frame3.Refresh
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 7 avril 2009 à 18:47
Attends ....
Regarde aussi l'évolution de l'utilisation de tes ressources... à tout hasard ...
Ta fonction C crée-t-elle des objets ? Les supprime-t-elle au fur et à mesure (lorsque terminée, au moins) ?
W@$h!
Messages postés70Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention16 juin 2010 7 avril 2009 à 21:21
Merci pour ton aide jmf0!
Pour ce qui est de AERO, je sais pas trop ce que sais, mai bon... Google est mon ami!
Je ne pense pas que ce soit un probleme dans la listbox ou avec la variable i, puisque quand je fait un test avec un seul fichier dans cette listbox, le programme rame quand même! Et pour ce qui est des objet, ma fonction étant en C, je ne travaille pas sur des objets.
A tout hasard, je poste le code de ma fonction en C, même si j'ai bien conscience que sa place serais plutot sur Cppfrance :)
Je pense tout simplement que mon prog est trop gourmand en ressources. Mais j'ai déja eu des programme, comme par exemple un programme de récupération de mot de passe d'archive en brute force, qui testait 300 mot de passe à la seconde, et qui utilisait 90% du proc en moyenne. Et il ne plantait pas! Et on pouvais suivre en direct les test de mots de passe...
Donc il doit y avoir un moyen d'éviter cela... Mais lequel?
En tous cas merci a toi de prendre le temps de m'aider...