Хм. Видимо проблема была в этом:
Код:
ShowInf.OnTimer:=nil;
fishin.OnTimer:=nil;
trade1.OnTimer:=nil;
createpfo.OnTimer:=nil;
movetimer.OnTimer:=nil;
Убрал, и больше не падает при вызове Free.
Но есть другой вопрос.
Компилирую скрипт. Ставлю галочку на запуск скрипта. Все отлично.
Снимаю галочку, форма исчезает. Еще раз ставлю галочку. Скрипт запускается, форма появляется, но в логах пишет:
Код:
ошибка в CreateItemBase->StringList.Add()
И еще ошибка такая (вернее не понятная мне вещь).
В версии 3.5.13.122 уже есть встроенный метод SendMsg(string).
В этом скрипте он почему-то не шлет сообщения в клиент.
Пришлось вставить такой метод в скрипт:
Код:
//.....................
procedure SendMsg_to_CL(msg:string); // отправка системных сообщений клиенту
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClientEx(Name);
end;
и использовать его.