Вниз
Скачать: 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 вся ветка

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



Память: 0.48 MB
Время: 0.046 c
2-1265397112
И. Павел
2010-02-05 22:11
2010.08.27
Как проиграть несколько звуков из ресурса?


15-1263763827
Юрий
2010-01-18 00:30
2010.08.27
С днем рождения ! 18 января 2010 понедельник


4-1227220571
AnarchyMob
2008-11-21 01:36
2010.08.27
Сообщение при изменении состояния контролла.


15-1273480342
SKIPtr
2010-05-10 12:32
2010.08.27
закртие или контроль приложений в Mozilla и оперы


2-1275629647
Delphist2
2010-06-04 09:34
2010.08.27
Как в winapi различить 2 контрола одного класса на окне?




   Наверх