Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Зависания

Рег
14 Мар 2016
Сообщения
166
Реакции
0
Есть вот такой участок кода

var
str1,str3,str4:string;
P:Integer;
npclive: TL2Live;
begin
print('1');
result:=false;
print('2');
NpcList.ByID(NPC, npclive);
print('3');
if (Assigned(npclive)) or (NPC=0) then begin //Провиряем Еслть ли такая строка для баффа, и есть ли вообще баффер
print('4');
if NPC>0 then begin
print('5');
Engine.Settarget(NPC); //Таргет GK
print('6');
Engine.DlgOpen; //Открываем диалог
print('7');
end;
Почему перед ОТКРЫТЬ ДИАЛОГ(Engine.DlgOpen;) происходит зависание ? Почти всегда и может оно быть от 1 и до 30 секунд?
На картинке четко видно что зависание на 7 секунд.
123.jpg
 
Сравнивать TL2Live переменную с числом.. Ну такое.
Думаю, кодер был не готов к такому повороту :pandaredlol:
П.С.: А вообще - совершенно непонятна логика проверки ниже, может именно это и заставляет адреналин сходить с ума
Код:
if (Assigned(npclive)) or (NPC=0)
 
SARCAZM написал(а):
П.С.: А вообще - совершенно непонятна логика проверки ниже, может именно это и заставляет адреналин сходить с ума
НРЦ переменуя я задаю сам при вызове функции , мне она нужна для Engine.Settarget(NPC); И если ноль то он не должен открывать диалог , а продолжать выполнять сам диалог .
@SARCAZM,
 
SARCAZM написал(а):
П.С.: А вообще - совершенно непонятна логика проверки ниже, может именно это и заставляет адреналин сходить с ума
Оно бы тогда зависло бы на print('3'); а зависло после print('6');
 
Назад
Сверху