Показать сообщение отдельно
  #9  
Старый 13.11.2012, 12:54
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от maratikus
он есть я его просто не внес сюда
В данном случае компилятор правильно ругается.
Возьмём любую твою функцию, например:
Код:
Function IsFirewallEnabled:boolean;
Var
  objFirewall,objPolicy:OleVariant;
begin
  Try
    objFirewall := CreateOLEObject('HNetCfg.FwMgr');
    objPolicy := objFirewall.LocalPolicy.CurrentProfile;
    Result:=objPolicy.FirewallEnabled;
  except
  end;
end;
Если например сработает исключение на первой строчке (там где CreateOLEObject), мы минуя присвоение результата сразу прыгнем на except где тихонько обработаем это исключение. И что в таком случае вернёт твоя функция? - Мусор. Вот компилятор и предупреждает, что эта функция может вернуть непредсказуемый результат.
Ответить с цитированием