Thread ou pas Thread ?

Thread ou pas Thread ? - Delphi/Pascal - Programmation

Marsh Posté le 22-06-2006 à 10:28:06    

Bonjour,
 
je sais que normalement les threads servent a faire du traitement en parallele tout en partageant les memes ressources, les memes donnees etc.....mais certaines fonctionnalites me semblent interessantes pour mon appli dans un autre but or j avoue que je m y perds :p
 
Je suis sur un soft qui utilise des composants imaging et entre autre le composant pour effectuer de l'OCR.
Ce composant a juste une procedure StartOCR pour lancer le traitement qui a priori execute un nouveau process (?), et au final genere un fichier txt resultat de l'ocerisation.
C est la que je me pose pas mal de questions car dans mon appli j ai besoin de verifier le contenu du fichier txt, de le traiter et de l effacer pour recommencer l operation de facon iterative.
 
Serait il interessant de creer un thread pour executer l ocerisation, et mettre en standby mon appli principal jusqu a creation du fichier txt (style repeat application.handlemessage until isthreadterminated) ? ou est ce qu un simple Timer avec un FileExists serait suffisant ?  :D  
 
Merci
 

Reply

Marsh Posté le 22-06-2006 à 10:28:06   

Reply

Marsh Posté le 22-06-2006 à 11:17:27    

est ce que la solution serait de lancer le thread qui lance lui meme l ocerisation + un timer.
Et mettre un FileExists dans le timer toutes les 0.1s par ex ; qd le fichier apparait stopper thread + timer.
 
Et je mets le repeat application.handlemessage until isthreadterminated dans ma procedure d ocerisation du prog principal.
 
Ca parait coherent a qqun ?

Reply

Marsh Posté le 22-06-2006 à 21:48:41    

Si le traitement du composant se fait déja indépendamment, je pense qu'un timer est suffisant :)  
(je vois pas très bien ce qu'un thread indépendant apporterait)
 
Ou, à la rigueur, un thread qui va :
- lancer le traitement
- attendre l'apparition du fichier attendu (pas besoin d'un timer, une simple boucle avec un "sleep" devrait suffire)
- le traiter
- avertir l'appli que le traitement est fini
Mais avec des précautions à prendre (veiller à terminer le thread, même s'il y a une erreur et que le fichier attendu n'arrive jamais).
 
Mais est-ce que ton composant n'aurait pas une fonction qui permette de déterminer la fin du traitement et l'arrivée du fichier ?

Reply

Sujets relatifs:

Leave a Replay

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