100-процентная загрузка процессора

Материал из GedeminWiki
Перейти к: навигация, поиск

Если в обработчике события OnUpdate компонента TAction сначала идет присваивание свойства Enabled = True, а затем Enabled = False, то можем получить 100% загрузки процессора при отображении такой формы на экране.

Например, рассмотрим такой код:

option explicit
sub actNewOnUpdate(ByVal Sender)
'*** Данный код необходим для вызова встроенного обработчика ***
'*** В случае его удаления возможно нарушение работы системы ***
  call   Inherited(Sender, "OnUpdate", Array(Sender))
'*** конец кода поддержки встроенного обработчика            ***

  Sender.Enabled = not Sender.Owner.FindComponent("usrg_gdcEmployee").IsEmpty
end sub

сначала вызываем наследованный обработчик, который, например, установит Enabled = True, а потом переприсваиваем Enabled в False. Естественно получаем 100% загрузку процессора.

В данном случае, правильно писать так:

option explicit
sub actNewOnUpdate(ByVal Sender)
  if Sender.Owner.FindComponent("usrg_gdcEmployee").IsEmpty then
    Sender.Enabled = False
  else
    '*** Данный код необходим для вызова встроенного обработчика ***
    '*** В случае его удаления возможно нарушение работы системы ***
      call   Inherited(Sender, "OnUpdate", Array(Sender))
    '*** конец кода поддержки встроенного обработчика            ***
  end if
end sub
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты