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