Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.04.2018, 15:21
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию Поток + Set|KillTimmer

Подскажите в чем может быть проблема.
Обработчик таймера
Код:
procedure TЬForm.WMTimer(var Msg: TWMTimer);
begin
  try
    try

      Thr.initWork(Msg.TimerID);
      //  ShowMessage(BoolToStr(KillTimer(Self.Handle, msg.TimerID), True));
      Msg.Result := 0;

    except

    end;
  finally
    KillTimer(Handle, Msg.TimerID);
    inherited;
  end;

end;
InitWork
Код:
begin
  FLock.Enter;
  try
    if not FOnTime then
    begin
      fOnTime:=True;
      ....
      fOnTime:=false;

    end;

  finally
    FLock.Leave
  end;
end;
все работает хорошо, если таймер создается 1, если таймеров 2+, то FOnTime всегда true. Таймеры создаются с достаточной задержкой друг от друга. Лог и время тика каждого таймера прилагаю.
Код:
[14:11:42:253] Add Worker: Id: 1, Time: 7000 
[14:11:42:759] Add Worker: Id: 2, Time: 8500 
[14:11:43:264] Add Worker: Id: 3, Time: 10500 
Формально будет всегда False. FOnTime наступить не должно и проверку можно убрать, но вопрос не в этом, а почему оно наступает

Последний раз редактировалось nixon232, 14.04.2018 в 15:26.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter