Перейти к содержанию
Fire Monkey от А до Я
  • 0

TTimer в FMX не проверяет EOutOfResources, (Win) почему?


Nick Peterson

Вопрос

Реализация VCL

procedure TTimer.UpdateTimer;
begin
  KillTimer(FWindowHandle, 1);
  if (FInterval <> 0) and FEnabled and Assigned(FOnTimer) then
    if SetTimer(FWindowHandle, 1, FInterval, nil) = 0 then
      raise EOutOfResources.Create(SNoTimers);
end;

 

В FMX иначе, интересно, почему так? есть какая то причина, или просто поленились дописать?

procedure TTimer.UpdateTimer;
begin
{...}
    FTimerHandle := FPlatformTimer.CreateTimer(FInterval, Timer);
    if FTimerHandle = 0 then
      FEnabled := False; // Упс.. таймер просто молча сдохнет)) и будешь гадать что случилось с приложением, почему оно "зависло"

end;

 

Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...