Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Разъясните ситуацию   Найти похожие ветки 

 
Махно   (2010-02-24 10:29) [0]

Удалено модератором
Примечание: Делай нормальные заголовки, на в потрепаться же


 
Медвежонок Пятачок ©   (2010-02-24 10:56) [1]

1. добавить критическую секцию
2. убрать таймер.


 
Махно   (2010-02-24 10:58) [2]

Критическая секция не поможет, т.к. обработчики работают в одном потоке.

А таймер самая удобная в этом случае вещь, т.к. проверку надо делать регулярно, через определенный промежуток времени.


 
Медвежонок Пятачок ©   (2010-02-24 11:03) [3]

ты когда складываешь два и два, то тоже вешаешь таймер, чтобы поймать момент, когда результат сложения уже готов?


 
Медвежонок Пятачок ©   (2010-02-24 11:05) [4]

т.к. проверку надо делать регулярно

зачем ее делать регулярно?
у тебя переменные в листе модифицирует святой дух?
нет.
их можифицируют нитки.
они пусть и сигнализируют что пора делать иф


 
Медвежонок Пятачок ©   (2010-02-24 11:07) [5]

место для твоего ифа - это метод OnThreadTerminate


 
Махно   (2010-02-24 11:18) [6]

Содержимое в обработчиках разное, каждый делает свое дело.
Таймер удобен тем, что мне нужно (например) за 5 секунд до определенного момента сделать со списком определенную манипуляцию. Как мне это делать без таймера?


 
Махно   (2010-02-24 11:20) [7]

Использовать таймер или не использовать - дело второе. Должно работать как с таймером так и без него. Сейчас я не могу понять, почему получается AV. Думаю, что AV получается не из-за того, что используется таймер.


 
Медвежонок Пятачок ©   (2010-02-24 11:20) [8]

твоя архиполезная работа начинается только после ифа.
иф проверяет значение поля.
поле модифицируется только в OnThreadTerminate и нигде больше.

И зачем здесь таймер? /* см. [3] */


 
Медвежонок Пятачок ©   (2010-02-24 11:22) [9]

Думаю, что AV получается не из-за того, что используется таймер.

А я сказал что ав у тебя из за таймера?
У тебя спагетти - код, поймать ошибку в котором сложно.
Упрощай код.


 
Махно   (2010-02-24 11:37) [10]

Содержимое списка может меняться еще в нескольких местах.

В чем и суть, что обработчик по таймеру общий для всех изменений. Тут юзер добавил, там удалил, тут из потока изменения произошли, тут по времени пора список подправить и т.д. Все изменения хранятся в списке, если по таймеру на данных момент содержимое списка не соответствует нужному - он модифицируется. Такой подход меня устраивает, т.к. в каждом случае понятно что происходит.

Я сюда написал не потому, что у меня сложный код, а потому, чтобы разобраться, с обработчиком потока - может ли он разрывать выполнение работы основного потока. Смотря в код вызова OnTerminated я этого не понял.


 
Медвежонок Пятачок ©   (2010-02-24 11:42) [11]

Содержимое списка может меняться еще в нескольких местах.

Какая разница?

Я сюда написал не потому, что у меня сложный код

Странно что вообще у такого тру-программера есть проблемы.
Он же наперед знает, что поможет, а что не поможет.

К чему тогда вопросы?


 
Медвежонок Пятачок ©   (2010-02-24 11:44) [12]

Содержимое списка может меняться еще в нескольких местах.

Предлагаешь лечить по фотографии без самой фотографии?
Зачем здесь твой "схематичный код"?
Чтобы мы угадали что у тебя ошибка в неприведенной сдесь семнадцатой строке?


 
Медвежонок Пятачок ©   (2010-02-24 11:46) [13]

может ли он разрывать выполнение работы основного потока.

Нет, не может.
Что дальше?



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
15-1272141003
Юрий
2010-04-25 00:30
2010.08.27
С днем рождения ! 25 апреля 2010 воскресенье


2-1266443303
Funtik
2010-02-18 00:48
2010.08.27
LIstBox


2-1268915355
@!!ex
2010-03-18 15:29
2010.08.27
Как отрисовать TBitMap c прозрачностью?


2-1274344276
zamtmn
2010-05-20 12:31
2010.08.27
unicode->ascii


11-1220845969
Dmitro
2008-09-08 07:52
2010.08.27
Управление Selection в ListView