IPrxFlashFSCommandEventArgs.CreateArgs

Синтаксис Fore

CreateArgs(Name: String; Args: String);

Синтаксис Fore.NET

CreateArgs(Name: string; Args: string);

Параметры

Name. Имя команды, вызванной из flash-ролика;

Args. Cтроковый аргумент команды, вызванной из flash-ролика.

Описание

Метод CreateArgs создает аргументы для передачи в указанный обработчик событий flash-ролика.

Комментарии

Swf-ролик, используемый flash-объектом, должен быть сформирован специальным образом с учетом работы через FsCommand.

Пример Fore

Для выполнения примера создайте модуль с идентификатором «Module» (процедура «Message», подключите системные сборки «Ui»,  «Tab» и «Report»):

Public Sub Message(Flash: IPrxFlash; Args: IPrxFlashFSCommandEventArgs);
Begin
    WinApplication.InformationBox((Flash As ITabObject).Id + " : " + Args.Name + " = " + Args.Arguments);
End Sub Message;

Создайте регламентный отчет с идентификатором «Report», на листе которого разместите flash-объект, который использует swf-ролик с поддержкой fscommand. Добавьте созданный модуль в модули отчета.

Создайте форму, добавьте кнопку с наименованиями «Button1» и компоненты ReportBox с наименованием «ReportBox» и UiReport с наименованием «UiReport1». Опишите события OnClick для «Button1» и OnCreate для формы. Подключите системные сборки: Forms, Metabase, Report, Tab, Ui.

Class TestForm: Form
    UiReport1: UiReport;
    ReportBox1: ReportBox;
    Button1: Button;
    m_Rep: IPrxReport;
    m_Fl: IPrxFlash;

Sub TestFormOnCreate(Sender: Object; Args: IEventArgs);
Begin
    m_Rep := MetabaseClass.Active.ItemById("Report").Edit As IPrxReport;
    UiReport1.Instance := m_Rep;
    m_fl := (m_Rep.ActiveSheet As IPRxTable).TabSheet.Objects.Item(0).Extension As IPrxFlash;
    m_fl.FSCommandAction := "Module.Message";
End Sub TestFormOnCreate;

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    a: IPrxFlashFSCommandEventArgs;
Begin
    a := New PrxFlashFSCommandEventArgs.Create;
    a.CreateArgs("New FS""New FS Arguments");
    m_fl.DoFSCommandAction(a);
End Sub Button1OnClick;
End Class TestForm;

При нажатии кнопки будет выдано сообщение с названием сгенерированной команды и со значением её аргументов.

Пример Fore.NET

Для выполнения примера создайте модуль и регламентный отчет, как написано в предыдущем примере. Обработчик события на Fore.NET не поддерживается, так как описание пользовательских макросов в .NET-модулях/.NET-формах производится в каком-либо классе.

Создайте .NET- форму, расположите на ней кнопку с наименованием "Button1", компонент ReportBoxNet и компонент UiReportNet с наименованием «UiReportNet1», являющегося источником данных для ReportBoxNet. Опишите события Click для «Button1» и Activated для формы. Подключите системные сборки: Forms.Net, Metabase, Report, Tab.

Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    a: PrxFlashFSCommandEventArgs;
Begin
    a := New PrxFlashFSCommandEventArgs.Create();
    a.CreateArgs("OnClick New FS""New FS Arguments");
    m_fl.DoFSCommandAction(a);
End Sub;

Private Sub OBJ65120Form_Activated(sender: System.Object; e: System.EventArgs);
Begin
    m_Rep := Self.Metabase.ItemById["Report"].Edit() As IPrxReport;
    uiReportNet1.ReportUi.Report := m_Rep;
    m_fl := (m_Rep.ActiveSheet As IPRxTable).TabSheet.Objects.Item[0].Extension As IPrxFlash;
    m_fl.FSCommandAction := "Module.Message";
End Sub;

При нажатии кнопки будет выдано сообщение с названием сгенерированной команды и со значениями её аргументов.

См. также:

IPrxFlashFSCommandEventArgs