Rien à faire j'arrive pas à reproduire ce problème ici...
Rien à faire j'arrive pas à reproduire ce problème ici...
Comment dupliquer un disque...ça vous intéresse?
Tutoriel et code source delphi ici
Avec quelle version de Delphi tu travail?
avec la 7 il y a ceci:
Bug
ca s'applique aussi avec d'autre version Delphi je crois bien..
Moi ici D5...voici le code de TThread.Destroy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 destructor TThread.Destroy; begin if not FFinished and not Suspended then begin Terminate; WaitFor; end; if FHandle <> 0 then CloseHandle(FHandle); inherited Destroy; RemoveThread; end;
Comment dupliquer un disque...ça vous intéresse?
Tutoriel et code source delphi ici
J'ai Delphi6. J'ai essayé toutes les directives de compilation possibles au cas où, j'ai toujours le problème avec WaitFor : Descripteur non valide (code 6). J'ai fait une petite recherche à ce sujet et j'ai trouvé la solution :J'ai donc modifié mon code et profité pour corriger un autre bug aussi. Grâce à ton expérience et tes explications, le code doit-être correcte à présent :Envoyé par Smortex
http://sub0.developpez.com/delphi/threadscopy.zip
+1.Envoyé par Eric Boisvert
Je me demande aussi : N'y aurait-il pas moyen de simplifier ton code avec la TThreadList ?
Salut
@Eric : As-tu reçu mon message privé ?
J'ai proposé le code suivant pour la page "code sources" du forum Delphi :
http://sub0.developpez.com/delphi/threadscopy.zip
Le programme possède une protection contre l'écrasement des fichiers avec un dialogue [Oui/Non/Tous/Annuler]. Lorsqu'on choisit [Oui] dans le dialogue, [Tous] apparaît dans le dialogue suivant. Ce programme possède 3 paramètres :Manque plus que réaliser cette démo avec les sémaphores, Eric BoisVert s'étant déjà occupé de la développer avec une TThreadList...
Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Const NbrThreads: Byte = 10; { Nombre de copies simultannées } DestinDir : String = 'tmp'; { Nom du répertoire de destination } BufSize = $10000; { Taille du bloc de copie }
En attendant, si vous avez des suggestions pour améliorer la qualité du code, je suis preneur, à+
Bon voilà la version finale.
- J'ai ajouté des barres de progression dans la TListview.
- Modification dans l'affichage de l'état des threads (lorsqu'il y en a beaucoup)
- J'ai suivie les conseils jeudicieux de Sub0 pour la présentation du code.
Comment dupliquer un disque...ça vous intéresse?
Tutoriel et code source delphi ici
Partager