В функции CalcSum просматривается содержимое документа
и рассчитывается общая сумма, которая возвращается в качестве результата.
Теперь надо позаботиться о клиентской части, то есть
создать необходимые внешние методы сервера в библиотеке типов. Описание этих
методов, созданное редактором библиотек типов, выглядит следующим образом:
protected
function ApplyChanges: WideString;
safecall;
function Get_DocID: Integer; safecall;
procedure CreateNewDoc; safecall;
procedure Set_DocID(Value: Integer);
safecall;
function Get_DocSum: Currency; safecall;
Функциональность этих методов такова:
ApplyChanges – сохраняет текущий документ в БД.
DocID – свойство, доступное на запись и чтение При
чтении выдается текущий ID документа (FDocID). При изменении значения свойства
документ открывается для редактирования с ID, равным новому значению. Если
значение свойства равно 0, документ закрывается, и модуль переводится в
неактивное состояние.
CreateNewDoc – создает новый документ (вызывает методы
DoInactiveState и DoCreateNew).
DocSum – выдается текущая сумма документа, результат работы
метода CalcSum.
Реализация этих методов довольно проста, все основные
процедуры уже есть, сложность представляет только функция ApplyChanges:
function TrdmDoc.ApplyChanges: WideString;
begin
lock;
try
FLastUpdateErrors := '';
if FState = osInactive then
raise Exception.Create('Нет нового или открытого
документа');
// Вычисляем итоговую сумму документа
with cdsTitle do
Рекомендуем скачать другие рефераты по теме: зимнее сочинение, шпаргалки по уголовному.