bonjour, j'azi un pb car quand j'arrete un thread , j'ai un message :
receiveheader:net packets out of order : received[0], expected[1].
quoi que je fasse sur l'executable, merci car la je ne voit pas d'ou sa peut venir
bonjour, j'azi un pb car quand j'arrete un thread , j'ai un message :
receiveheader:net packets out of order : received[0], expected[1].
quoi que je fasse sur l'executable, merci car la je ne voit pas d'ou sa peut venir
Salut
Comment veux-tu que quelqu'un réponde à ça?
Donne-nous plus de renseignements:
A quoi sert le thread? Quel compos tu utilises? A quoi sert l'appli? etc.
bas voilas , j'ai un thread que me permet de lancer une requette sql longue , et donc , cela m'evite de bloquer mon appli , mais mon thread marche tres bien , mais j'ai mis un evenement sur la touche echape pour pouvoir quand meme arreter le thread si je veut , le thread a l'aire de s'arreter mais quand je reclique sur ma forme il me met se message et je ne voit pas ce qu'il veut dire , voila en esperent etre plus clair, je voulait savoir la signification , et si quelqu'un a deja eu ce pb , et d'ou sa peut venir
Salut,
tu l'arrêtes comment ton thread ?
parce qu'il ne se pourrait pas que tu l'arrêtes en plein milieu d'une opération ce qui le fasse planter ?
en fait je fait
qui est le seul que je connaise pour arreter un thread, a moin que vous connaissait un autre moyen
Code : Sélectionner tout - Visualiser dans une fenêtre à part mythread.Terminate;
ps: le pire c'est que sa me fait planter la totaliter de mon programme quoi que je faisse me met ce message, alors que si je laisse finir le thread , aucun pb
Re,
J'avais eu des problèmes moi aussi avec mes threads et pour eviter les erreurs à l'arrêt j'avais mis dans l'évènment OnExecute la prise en compte d'une variable pour arrêter le thread.
du genre :
et une fois que le thread a renvoyé finished à true tu peut l'arrêter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Var arret : boolean; Finished : boolean; Procedure MonThread.Execute(...); begin For i := 0 to 50 do begin If Arret then break; Operation 1; Operation 2; Operation X; end; If arret then finished := true; Repeat Sleep(500); Until not Arret; end;
En esperant que ça puisse t'aider,
Silk
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager