Главная страница
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.051 c
15-1275393586
bss
2010-06-01 15:59
2010.08.27
Отключить скрол у TComboBox


2-1274209434
Сид
2010-05-18 23:03
2010.08.27
Проверить значение TDBLookupComboBox


2-1273983220
Учащийся
2010-05-16 08:13
2010.08.27
Какой код быстрее


2-1267276280
lewka
2010-02-27 16:11
2010.08.27
Работа с архиватором


2-1273184472
concord
2010-05-07 02:21
2010.08.27
Фильтрация данных