Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
var
EngineCustom: TL2Control;
UserCustom: TL2User;
Buff: TL2Buff;
begin
EngineCustom:= GetControl('bla-bla');
if (EngineCustom <> nil) then
begin
UserCustom:= EngineCustom.GetUser;
if (not UserCustom.Buffs.ByID(111, Buff)) or (Buff.EndTime < 10*1000) then
begin
end;
end;
end.
Спасибо большое. Не могу только понять что дает эта строчка? Это условие ведь сработает в любом случае? Так зачем оно тогда?Krickt написал(а):var EngineCustom: TL2Control; UserCustom: TL2User; Buff: TL2Buff; begin EngineCustom:= GetControl('bla-bla'); if (EngineCustom <> nil) then begin UserCustom:= EngineCustom.GetUser; if (not UserCustom.Buffs.ByID(111, Buff)) or (Buff.EndTime < 10*1000) then begin end; end; end.
var EngineCustom: TL2Control;
UserCustom: TL2User;
Buff: TL2Buff;
begin
EngineCustom:= GetControl('bla-bla');
UserCustom:= EngineCustom.GetUser;
if (not UserCustom.Buffs.ByID(111, Buff)) or (Buff.EndTime < 10*1000) then delay (111) ;
end.
Умно. Вот и я подумал что не просто так написана проверка, потому и решил уточнить для чего она. Теперь хоть буду знать.Krickt написал(а):А вдруг 2ое окно еще не запущено, а скрипт уже запущен? Тогда GetControl вернет nil, что мы и проверяем. А если мы попробуем что-то сделать с EngineCustom, когда оно nil, то получим критическую ошибку, есть шанс крашнуть адреналин полностью. Чем больше возможных критических ситуаций код предусматривает, тем он лучше. Не просто же я именно так написал. )
вызов мембер функции nil обьекта вполне законная операция, и ничего не положит(особенно, если внутри методов есть проверка self на nil).Krickt написал(а):А если мы попробуем что-то сделать с EngineCustom, когда оно nil, то получим критическую ошибку, есть шанс крашнуть адреналин полностью.