TbtkScriptApplicationObject
``````````````````````````````````````````````````````````````````````
.. pas:class:: TbtkScriptApplicationObject
TbtkScriptApplicationObject
.. pas:attribute:: SingleSession: Boolean
Свойство управляет количеством сессий приложения. Значение **True** - одна
сессия, **False** - множество сессий. Использование одной сессии снижает
нагрузку на сервер БД. Включить режим одной сессии можно и через
параметр командной строки ``/singleSession``.
:rtype: Boolean
.. pas:attribute:: ApplicationLevel: Integer
Уровень разработки.
:rtype: Integer
.. pas:attribute:: UseSecondaryIcons: Enumeration
Свойство задает использование иконок уменьшенного размера на панелях
выборок.
:rtype: Enumeration
.. pas:method:: NewApplication(AppClassName: String)
Запускает новое приложение для того же пользователя. Если параметр равен
пустой строке, то выдается запрос.
:param String AppClassName:
Системное имя приложения.
.. pas:method:: SetContextParam(ParamName, ParamValue: String)
Устанавливает переменной контекста текущей сессии значение.
:param String ParamName:
Имя переменной контекста.
:param String ParamValue:
Значение переменной контекста.
.. pas:method:: GetContextParam(ParamName: String): String
Возвращает значение переменной контекста сессии Оракла.
:param String ParamName:
Системное имя переменной контекста.
:rtype: String
Информация о приложении
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. warning:: |not_supported|
.. pas:class::
.. pas:attribute:: VersionMajor: Integer
Мажорная версия приложения
Атрибут только для чтения
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17
majorVersion := Application.VersionMajor; // 4
minorVersion := Application.VersionMinor; // 30
releaseVersion := Application.VersionRelease; // 0
milestoneVersion := Application.VersionMilestone; // 17
str := 'Полное имя версии: ' + fullVersionName + #13;
str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13;
str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13;
str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13;
str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion);
ShowMessage(str);
.. pas:attribute:: VersionMinor: Integer
Номер минорной версии клиента.
Атрибут только для чтения
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17
majorVersion := Application.VersionMajor; // 4
minorVersion := Application.VersionMinor; // 30
releaseVersion := Application.VersionRelease; // 0
milestoneVersion := Application.VersionMilestone; // 17
str := 'Полное имя версии: ' + fullVersionName + #13;
str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13;
str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13;
str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13;
str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion);
ShowMessage(str);
.. pas:attribute:: VersionRelease: Integer
Номер релизной версии клиента.
Атрибут только для чтения
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17
majorVersion := Application.VersionMajor; // 4
minorVersion := Application.VersionMinor; // 30
releaseVersion := Application.VersionRelease; // 0
milestoneVersion := Application.VersionMilestone; // 17
str := 'Полное имя версии: ' + fullVersionName + #13;
str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13;
str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13;
str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13;
str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion);
ShowMessage(str);
.. pas:attribute:: VersionBuild: Integer
Номер сборки текущей версии клиента.
Атрибут только для чтения
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17
majorVersion := Application.VersionMajor; // 4
minorVersion := Application.VersionMinor; // 30
releaseVersion := Application.VersionRelease; // 0
milestoneVersion := Application.VersionMilestone; // 17
buildVersion := Application.VersionBuild;
str := 'Полное имя версии: ' + fullVersionName + #13;
str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13;
str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13;
str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13;
str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion) + #13;
str := str + 'Номер сборки = ' + IntToStr(buildVersion );
ShowMessage(str);
.. pas:attribute:: ExeName: String
Имя исполняемого файла приложения.
:rtype: String
.. pas:attribute:: Directory: String
Полный путь к исполняемому файлу приложения.
:rtype: String
Метаданные
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:attribute:: AdvMetaLoader: Boolean
Флаг управляет способом загрузки метаданных с сервера. Если значение
установлено true, то загрузка будет выполняться одним запросом архива.
Если значение false, то загрузка будет осуществляться запросом на каждый
тип сущностей. По умолчанию значение true.
:rtype: Boolean
.. deprecated:: Использовать следует :pas:attr:`MetaCache.ArchiveMode `.
.. warning:: |not_implemented|
.. pas:attribute:: CacheMeta: Boolean
Флаг включает/отключает использование КЭШа под метаданные.
:rtype: Boolean
.. deprecated:: Использовать следует :pas:attr:`MetaCache.Active `.
.. pas:method:: SaveCachedSelectionList()
Сохранение во временном каталоге пользователя списка выборок, кеш
метаданных которых присутствует в дисковом кеше метаданных.
Сохраняется в файл с названием в виде имени сервера к которому
подключено приложение. Сохраняется в каталоге
``%ВременнаяПапкаПользователя%\GlobalSystem\MetaDataCache\``
.. deprecated:: Использовать следует :pas:meth:`MetaCache.SaveCachedSelectionList `.
.. warning:: |not_implemented|
.. pas:method:: LoadCachedSelectionList()
Загружает метаданные с сервера по списку выборок сформированному с
помощью метода SaveCachedSelectionList и сохраняет в дисковом кеше.
.. deprecated:: Использовать следует :pas:meth:`MetaCache.LoadCachedSelectionList `.
.. warning:: |not_implemented|
.. pas:attribute:: AdvMetaCheckVersion: Boolean
Свойство сообщает выполняется ли в данном сеансе проверка версии
метаданных при загрузке кеша. Значение зависит от: Включен режим
загрузки метаданных архивом и База данных поддерживает работу с версиями
метаданных (первый же не отработавший запрос версии выставляет внутренний
флаг "Версионность метаданных не поддерживается", флаг будет активен до
самого завершения работы приложения).
Атрибут только для чтения.
:rtype: Boolean
.. deprecated:: Использовать следует :pas:attr:`MetaCache.CheckVersionActive `.
.. warning:: |not_implemented|
.. pas:attribute:: AutoCompleteFlatTables: Boolean
Позволяет установить режим "Автоподготовка к работе из приложения"
:rtype: Boolean
.. pas:attribute:: FlatTables: Boolean
Флаг определяет, использовать ли загрузку из плоских таблиц для
приложения.
:rtype: Boolean
Выборки
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:attribute:: MainSelection: TbtkScriptSelectionObject
Метод возвращает ссылку на главную выборку приложения.
:rtype: TbtkScriptSelectionObject
.. pas:method:: FindFormBySelection(): TbtkScriptFormObject
Метод ищет окно по системному имени главной выборки, среди всех MDI окон
приложения.
:rtype: TbtkScriptFormObject
.. code-block:: delphi
:caption: Пример использования
svSelName := 'SelectionName.Representation';
AForm := Application.FindFormBySelection(svSelName);
if Assigned(AForm) then
AForm.BringToFront;
else
CreateForm('', svSelName, fcfMDI);
.. pas:method:: GetSelectionById(): TbtkScriptSelectionObject
Ищет выборку среди всех выборок приложения по ID-выборки
:rtype: TbtkScriptSelectionObject
.. warning:: |not_supported|
Служба оповещения
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:method:: StopAlerter()
Останавливает службу оповещений
.. pas:method:: RunAlerter()
Метод запускает службу оповещений.
.. pas:attribute:: ShowAlertPopWindow
Метод определяет показывать или нет всплывающее окно с тестом сообщения
полученного системой оповещения в нижнем левом углу. Свойство влиет
только на сообщения с меткой критичности **Normal**. На сообщения повышенной
критичности свойство не распространяется.
.. warning:: |not_implemented|
Визуальные компоненты
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:attribute:: AutoFilter: Boolean
Свойство задает наличие автофильтра в спиках.
:rtype: Boolean
.. warning:: |not_implemented|
.. pas:attribute:: MultilineWindowTabs: Boolean
Отображать закладки окон в несколько строк.
:rtype: Boolean
.. code-block:: delphi
:caption: Пример использования
Application.MultilineWindowTabs := not Application.MultilineWindowTabs;
Selection.Operation.Checked := Application.MultilineWindowTabs;
.. warning:: |not_supported|
.. pas:attribute:: ShowAutoFilterInSelectedColumn: Boolean
Свойство задает видимость автофильтра только для колонки на шапку
которой наведен указатель мыши. Если свойство выключить,
то автофильтр будет видно для всех колонок постоянно, без
наведения указателя мыши на шапку колонки списка.
:rtype: Boolean
.. warning:: |not_implemented|
.. pas:attribute:: ShowTitle: Boolean
Отображать заголовок приложения.
:rtype: Boolean
.. warning:: |not_supported|
.. pas:attribute:: ShowToolBar: Boolean
Отображать тулбар.
:rtype: Boolean
.. pas:attribute:: ShowMainMenu: Boolean
Отображать главное меню приложения.
:rtype: Boolean
.. pas:attribute:: ShowNavBar: Boolean
Свойство управляет видимостью NavBar'a на главной форме.
:rtype: Boolean
.. code-block:: delphi
:caption: Пример использования
Application.ShowNavBar := 1; // Отображает NavBar
Application.ShowNavBar := 0; // Скрывает NavBar
.. pas:attribute:: ShowModernHeaders: Boolean
Отображать широкий заголовок фреймов.
:rtype: Boolean
.. seealso:: Настройка фрейма :btk:frameprop:`Header.ModernStyle`.
.. warning:: |not_implemented|
.. pas:attribute:: ShowSplitterButton: Boolean
Показывать ли кнопки на сплиттерах. По умолчанию **False**.
:rtype: Boolean
.. warning:: |not_implemented|
.. pas:attribute:: ShowStatusBar: Boolean
Свойство задает флаг, отображать или нет панель статуса внизу главного
окна.
:rtype: Boolean
.. warning:: |not_implemented|
.. pas:attribute:: ShowMDIWindowList: Boolean
Свойство включает/выключает список открытых окон внизу главного окна
приложения.
:rtype: Boolean
.. warning:: |not_implemented|
Управление окнами
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:method:: Windows: TbtkScriptApplicationWindowsNamespace
Пространство имен для работы с окнами.
:rtype: TbtkScriptApplicationWindowsNamespace
.. pas:method:: CloseAllTabs
.. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinForms`
.. warning:: |not_supported|
.. pas:method:: CloseAllTabsButThis
.. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinFormsExceptCurrent`
.. pas:method:: NewApplication
Запускает новое приложение для того же пользователя. Если параметр равен пустой строке, то выдается запрос
.. pas:method:: Terminate()
Метод выполняет безусловное закрытие приложения, вне зависимоти от
существования открытых окон.
.. pas:method:: Close()
Вызов метода аналогичен нажатию на кнопку закрытия окна (в верхнем
правом углу). Перед закрытием приложения, если есть открытые окна, будет
задан запрос на подтверждение закрытия приложения.
.. pas:method:: GetActiveMDIWindow(): TbtkScriptFormObject
Возвращает активное MDI окно.
:rtype: TbtkScriptFormObject
.. code-block:: delphi
:caption: Пример использования
FormMDI := Application.GetActiveMDIWindow();
.. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.GetActiveBuiltinForm`
.. pas:method:: CloseClicked
.. pas:attribute:: HighLightActiveControl: Boolean
Свойство включает/выключает выделение активного контрола.
:rtype: Boolean
Оформление
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:attribute:: NavBarStyle: Integer
Свойство управляет стилем NavBar'oв. Возможные значения в Диапазоне *[0 .. 13]*.
:rtype: Integer
.. pas:method:: ConfigureNavBarStyle()
Метод открывает диалог выбора стиля NavBar'a и применяет изменения, если
была нажата кнопка **OK**
.. code-block:: delphi
:caption: Пример использования
Application.ConfigureNavBarStyle;
.. warning:: |not_implemented|
.. pas:method:: SelectNavBarStyle(AcurStyle: Integer): Integer
Метод открывает диалог выбора стиля NavBar'a. Метод возвращает номер
выбранного стиля NavBar'a. Если стиль не был выбран, будет возвращено
значение *AcurStyle*
:param Integer AcurStyle:
Текущий стиль NavBar'a.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
curnvb := Application.NavBarStyle;
nvb := Application.SelectNavBarStyle(curnvb);
if nvb <> curnvb then
Application.NavBarStyle := nvb;
.. pas:attribute:: SkinName: String
Имя темы интерфейса.
:rtype: String
.. deprecated:: Следует использовать :pas:attr:`TbtkScriptSkinControllerObject.ActiveSkinName`.
.. warning:: |not_supported|
.. pas:attribute:: SkinController: TbtkScriptSkinControllerObject
Свойство предоставляет средства для переключения темы и стиля интерфейса
приложения.
:rtype: TbtkScriptSkinControllerObject
.. warning:: |not_supported|
.. pas:attribute:: LookAndFeel: TbtkScriptApplicationObject
Стиль отображения элементов интерфейса.
:rtype: TbtkScriptApplicationObject
.. deprecated:: Следует использовать :pas:attr:`TbtkScriptSkinControllerObject.LookAndFeel`.
.. warning:: |not_implemented|
Звуки
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:method:: SoundManager
.. warning:: |not_supported|
Последовательный порт
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:method:: GetSerialPort(PortName: String): TbtkScriptSerialPortObject
Функция возвращает объект последовательного порта. Если объект
не существует, то создает и возвращает, если объект уже создавался, то
возвращает ранее созданный.
:param String PortName:
Имя порта.
:rtype: TbtkScriptSerialPortObject
.. code-block:: delphi
:caption: Пример использования
// Листинг тестовой операции:
ComPortName := GetVar('sSerialPortName');
SerialPort := Application.GetSerialPort(ComPortName); // ComPortName = 'COM3'
SerialPort.Open;
dcb := SerialPort.GetDCBProperties;
dcb.BaudRate := CBR_19200;
dcb.ByteSize := 8;
dcb.Parity := NOPARITY;
dcb.StopBits := ONESTOPBIT;
SerialPort.SetDCBProperties(dcb);
timeouts := SerialPort.GetCOMMTimeouts;
timeouts.ReadIntervalTimeout := 50;
timeouts.ReadTotalTimeoutConstant := 40;
timeouts.ReadTotalTimeoutMultiplier := 40;
timeouts.WriteTotalTimeoutConstant := 40;
timeouts.WriteTotalTimeoutMultiplier := 40;
SerialPort.SetCOMMTimeouts(timeouts);
SerialPort.RegisterHandler(Selection.OperationByName('OnComPortReaded') );
// Листинг операции-обработчика OnComPortReaded:
SerialPort := Application.GetSerialPort(PortName);
ShowMessage(SerialPort.Data);
Перехват клавиатуры
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. pas:class::
.. pas:method:: HookKeyboardKeyDownEvent(Operation: TbtkScriptOperationObject)
Установить перехватчик. В параметре *Operation* необходимо указать
операцию обратного вызова. Данная операция будет вызываться при каждом
нажатие клавиш клавиатуры. Перехватчик можно снять с помощью
``UnHookKeyboardKeyDownEvent``, либо будет снять автоматически при выгрузке
метаданных. В приложение можно одновременно установить не более одного
перехватчика на нажатие клавиш. При попытке установить перехватчик при
уже установленном будет возбуждено исключение.
Операция-обработчик вызывается с аргументами в которых передается
информация о нажатой клавише:
VirtualKey
код виртуальной клавиши `MSDN `__
Char
виртуальный код преобразованный в символ клавиатуры(Сканкод)
ShiftState
состояние зажатых модификаторов типа TShiftState.
Handled
флаг в который можно вернуть результат обработки
нажатия. По умолчанию **False** - это значит, что нажатие клавиши будет
передано следующим обработчикам. **True** - нажатие обработано, и другим
обработчикам передавать обработку нажатия не надо. В этом случае
контролы ни как не узнают о срабатывания клавиши.
:param TbtkScriptOperationObject Operation:
Операция обработчик.
.. code-block:: delphi
:caption: Пример операции-обработчика
args.Validate(['VirtualKey','Char','ShiftState', 'Handled']);
str := Format('VK: %s; Char: %s; CTRL: %s; SHIFT: %s;ALT:%s;',
[IntToStr(args.VirtualKey), args.Char,
IntToStr(GetShiftState(ssCTRL)),
IntToStr(GetShiftState(ssSHIFT)),
IntToStr(GetShiftState(ssALT))]);
SetVar('Caption', str);
args.Handled := true;
.. warning:: |not_supported|
.. pas:method:: UnHookKeyboardKeyDownEvent()
Снять перехват нажатий клавиатуры.
.. warning:: |not_supported|
Отладочные методы
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.. caution::
Отладочные методы следует использовать только в отладочных целях, они могут негативно сказываться на работе клиента.
.. pas:method:: ProcessMessages_OnlyForService
Обрабатывает очередь сообщений приложения.
.. warning:: |not_supported|