Содержание
ModalForm(ModuleName : String; Mode : Integer; Id : Variant; CallbackFunction : String) : Variant
Создать модальную форму.
Функция ModalForm создает модальную форму. Форма из которой вызывается функция ModalForm становится недоступной пользователю, пока существует созданная форма. А при закрытии созданной формы будет вызван метод вашей программы с именем указанным в CallbackFunction.
Аргумент CallbackFunction содержит имя метода вашей программы, который будет вызван после закрытия созданной формы. Этот метод должен быть типа Procedure X(Form : Variant; Ok : Boolean). Аргумент Form будет содержать ссылку на созданную форму. Аргумент Ok будет содержать True, если пользователь нажал Ок (или был вызван метод Apply).
В остальном функция аналогична функции CreateForm. Описание аргументов ModuleName, Mode, Id читайте там же.
Пример с Variant:Procedure OnAddGood; Var F : Variant; Begin // Запуск модульной формы для создания нового товара F := ModalForm('GoodForm', emAdd, Null, 'GoodAdded'); // Предустанока полей нового товара F.Store := Store; End; Procedure GoodAdded(Form : Variant; Ok : Boolean); Var i : Integer; Begin If Not Ok Then Exit; // Товар был добавлен, помещаем его код в нашу табличную часть i := Table1.Append; Table1[i].Good := Form.Id.Value As Integer; Table1[i].Price := Form.DefaultPrice.Value As Currency; Table1[i].Count := 1; End;Пример:
Procedure OnAddGood; Var F : GoodForm; Begin F := ModalForm('GoodForm', emAdd, Null, 'GoodAdded'); F.Title := 'Новый заголовок для формы'; End; Procedure GoodAdded(Form : GoodForm; Ok : Boolean); Begin If Ok Then Warning('Первичный ключ добавленной записи ' + Form.Item('Code').Value As String); End;