ShowModal;
Метод ShowModal открывает Web-форму модально относительно того объекта, из которого выполняется код.
Использование данного метода доступно только в веб-приложении. Web-форма, для которой вызывается метод, должна быть открыта с помощью метода IMetabaseObjectDescriptor.Open или IMetabaseObjectDescriptor.OpenWithParam.
Для выполнения примера в репозитории предполагается наличие двух Web-форм с идентификаторами SOURCEF и DESTINATIONF. На первой форме расположена кнопка. На второй форме расположены два компонента Input, создан обработчик для события OnCommand.
Добавьте ссылки на системные сборки: Metabase, WebForm.
Код первой формы:
Class SOURCEFWebForm: WebForm
Button1: WebButton;
Sub Button1OnClick;
Var
Mb: IMetabase;
wForm: IWebForm;
Result: Variant;
Begin
Mb := MetabaseClass.Active;
wForm := Mb.ItemById("DESTINATIONF").Open(null) As IWebForm;
Result := wForm.SendCommand("command1", 100);
wForm.ShowModal;
Self.Text := Result;
End Sub Button1OnClick;
End Class SOURCEFWebForm;
Код второй формы:
Class DESTINATIONFWebForm: WebForm
Input1: WebInput;
Input2: WebInput;
Sub DESTINATIONFWebFormOnCommand(Args: IWebCommandEventArgs);
Begin
Input1.Text := Args.Command;
Input2.Text := Args.Argument;
If Args.Command = "command1" Then
Args.Result := "1";
Elseif args.Command = "command2" Then
Args.Result := "2";
Else
Args.Result := "0";
End If;
End Sub DESTINATIONFWebFormOnCommand;
End Class DESTINATIONFWebForm;
При запуске первой Web-формы и нажатии на кнопку будет инициализирована вторая Web-форма. Для Web-формы будет отправлена команда, после этого Web-форма будет открыта модально относительно первой Web-формы. При закрытии второй Web-формы будет возвращён результат обработки команды, который будет отображён в заголовке первой Web-формы.
См. также: