Bonjour 
J'ai besoin d'un Thread dans un programme traitant un certain nombre de lignes via une StringList, composée elle-même de plusieurs boucles de recherches/comparaisons/ajouts/deletes ; etc.
Autant dire que passé un certain nombre de lignes ; le programme se fige un peu, mais ne plante jamais et heureusement. Sauf qu'en ce cas ; ça prend pas mal de temps 
J'ai passé du temps à regarder et tester des codes divers et variés. Mais manquait toujours « une pièce » afin d'aller jusqu'au bout 
Présentement j'épluche ce tuto DVP :
https://delphi.developpez.com/faq/?page=Thread
1. J'ai créé une fiche secondaire ainsi qu'indiqué
2. En fiche principale de l'interface de mon programme à traiter, j'ai disposé dans la procédure gérant le traitement du splitage en question :
La déclaration en 'var' : MyThread: TTestThread
Juste avant le traitement :
MyThread := TTestThread.Create(False);
Et juste après la fin du traitement :
1 2 3 4
| // On demande au thread de s'arrêter "proprement".
MyThread.Terminate;
// Maintenant, on attend sa fermeture réelle.
ExitCode := MyThread.WaitFor; |
Je précise que si je lance mon programme, tout est RAS donc aucun plantage.
Me reste alors à lancer le Thread et si le lis bien, pour lancer ce Thread faut écrire une commande comme cela :
MyThread.Synchronize(UpdateForm);
Mais c'est là que je bute
Pouvez-vous svp me donner un petit coup de pouce ?
Mais au plus simple sans rien trop compliquer hein
Merci de vos lumières
Partager