В системе существуют следующие понятия
Скрипт создается в SDK и описывает работу с сервером. Язык скрипта Pascal. Но объекты поддерживаются только на уровне описания и ограничение доступности полей и методов. Создание и удаление внутренних объектов невозможно,т.к. их просто не существует. Скрипт должен иметь описание основного объекта TForumServer в котором должны быть следующие функции
procedure Init;
function UpdateForum(Storage:TMStorage):Integer;
function GetArchiveList(Archives:TArchives):Integer;
function UpdateForumFromArchive(Item:TArchiveItem):Integer;
function UpdateMessage(Msg:TMTreeItem):Integer;
function GetBanner:String;
function GetNewMessageURL:String;
и поле Flags...
Скрипт поддерживает вызов основных Delphi функций описанных в модулях System, SysUtils, Dialogs, Classes, Math.
Сервер - описание конкретного сервера. Содержит ссылку на скрипт и константы, которые нужны скрипту для работы с конкретным сервером. Например
ServerURL = http://www.auto.ru/wwwboards/
Конференция - это элемент сервера. Содержит константы данной конференции. например
ForumURL = vaz-newpart
Взаимодействие инициируется после открытия конференции пользователем. Система загружает скрипт и вызывает метод Init. После этого поле Flags должно быть инициализированно.
FC_NONE = 0;
FC_BANNER = 1;
FC_ARCHIVE = 2;
После этого скрипт остается запущенным все время работы с конференцией. По запросу пользователя система вызывает соответствующие методы. Если пользователь вызывает обновление конференции во время обновления сообщения то система терминирует процесс закачки страницы, после чего скрипт обязан немедленно вернуть управление системе. При завершении работы скрипт терминируется принудительно.