Вниз
Скачать: CL | DM;

Подскажите прием отладки св-ва Terminated у потока   Найти похожие ветки 

 
AV ©   (2012-05-02 17:35) [0]

procedure Thread.Execute;
 repeat
    Вся работа
 until Terminated;
 CanKillMe := True; // public-св-во, потом перебираю все потоки и кого можно убить - убиваю

Когда отлаживаешь, доходишь до Terminated, оно всегда равно False(т.к. не могу переключится в программу, которая устанавливает св-во Terminated в true).
т.е. надо изменить на True (из-под отладчика)
т.е. как бы сказать этому потоку Terminate


 
Cobalt ©   (2012-05-02 18:38) [1]

Нажимаешь Ctrl+F5 (или F7?)
набираешь self.Terminated, Enter
вводишь True, Enter


 
Anatoly Podgoretsky ©   (2012-05-02 19:03) [2]

> AV  (02.05.2012 17:35:00)  [0]

Terminated := True;


 
Cobalt ©   (2012-05-02 23:07) [3]

Анатолий, внимательнее:
> надо изменить на True (из-под отладчика)


 
Германн ©   (2012-05-02 23:55) [4]

В BreakPoint properties поставить условие Terminated = True


 
AV ©   (2012-05-03 09:04) [5]

Чем становлюсь старее, тем глупее :)
Потом уже придумал написать
until Terminated and B;
а локальную переменную уж поменять могу через менюшку debug.
А тут вообще можно и проперти, оказывается..
Спасибо.


 
AV ©   (2012-05-03 10:06) [6]

Отладилось!
Забыл inherited дописать в destractor одного класса :)
Здорово то как получается..

Никогда (наверное :)) не забуду, как ЮЗ посоветовал как-то аля машину состояний реализовать при анализе некоторого формального языка.
Мой случай :) Общаюсь с железками на их языке.
Особенно, если ответы приходят по сети в разное время от разных потоков(тем более, по сети, уже потоки id), машина состояний, короче, - "само то".


 
Юрий Зотов ©   (2012-05-03 13:07) [7]


> AV ©   (03.05.12 10:06) [6]

Это не "ЮЗ посоветовал", это классики так советуют.

Да ведь и действительно: программа находится в каком-то состоянии, приходит символ, программа переходит в другое состояние (допустимое или нет). Конечный автомат в чистом виде.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.051 c
15-1339736544
AV
2012-06-15 09:02
2013.03.22
с одной стороны - в отпуске. С другой - все неправильно


2-1334555099
Мишан
2012-04-16 09:44
2013.03.22
Вот так бывает


2-1338798568
leklerk
2012-06-04 12:29
2013.03.22
Программа висит в процессах


10-1182237882
Strang
2007-06-19 11:24
2013.03.22
Add-In


2-1343366420
EgorovAlex
2012-07-27 09:20
2013.03.22
Хранение данных в dll, используемой несколькими процессами




   Наверх