1.8.11. TbtkScriptApplicationObject¶
-
class
TbtkScriptApplicationObject
¶ TbtkScriptApplicationObject
-
SingleSession
: Boolean¶ Свойство управляет количеством сессий приложения. Значение True* - одна сессия, **False - множество сессий. Использование одной сессии снижает нагрузку на сервер БД. Включить режим одной сессии можно и через параметр командной строки
/singleSession
.Return type: Boolean
-
ApplicationLevel
: Integer¶ Уровень разработки.
Return type: Integer
-
UseSecondaryIcons
: Enumeration¶ Свойство задает использование иконок уменьшенного размера на панелях выборок.
Return type: Enumeration
-
NewApplication
(AppClassName: String)¶ Запускает новое приложение для того же пользователя. Если параметр равен пустой строке, то выдается запрос.
Parameters: AppClassName (String) – Системное имя приложения.
-
SetContextParam
(ParamName, ParamValue: String)¶ Устанавливает переменной контекста текущей сессии значение.
Parameters: - ParamName (String) – Имя переменной контекста.
- ParamValue (String) – Значение переменной контекста.
-
GetContextParam
(ParamName: String): String¶ Возвращает значение переменной контекста сессии Оракла.
Parameters: ParamName (String) – Системное имя переменной контекста. Return type: String
-
1.8.11.1. Информация о приложении¶
-
VersionMajor
: Integer¶ Мажорная версия приложения
Атрибут только для чтения
Return type: Integer <pascal> 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); </pascal>
-
VersionMinor
: Integer¶ Номер минорной версии клиента.
Атрибут только для чтения
Return type: Integer <pascal> 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); </pascal>
-
VersionRelease
: Integer¶ Номер релизной версии клиента.
Атрибут только для чтения
Return type: Integer <pascal> 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); </pascal>
-
VersionBuild
: Integer¶ Номер сборки текущей версии клиента.
Атрибут только для чтения
Return type: Integer <pascal> 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); </pascal>
-
ExeName
: String¶ Имя исполняемого файла приложения.
Return type: String
-
Directory
: String¶ Полный путь к исполняемому файлу приложения.
Return type: String
-
1.8.11.2. Метаданные¶
-
AdvMetaLoader
: Boolean¶ Флаг управляет способом загрузки метаданных с сервера. Если значение установлено true, то загрузка будет выполняться одним запросом архива. Если значение false, то загрузка будет осуществляться запросом на каждый тип сущностей. По умолчанию значение true.
Return type: Boolean Deprecated since version 4.29.0: Использовать следует
MetaCache.ArchiveMode
.
-
CacheMeta
: Boolean¶ Флаг включает/отключает использование КЭШа под метаданные.
Return type: Boolean Deprecated since version 4.29.0: Использовать следует
MetaCache.Active
.
-
SaveCachedSelectionList
()¶ Сохранение во временном каталоге пользователя списка выборок, кеш метаданных которых присутсвует в дисковом кеше метаданных.
Сохраняется в файл с названием в виде имени сервера к которому подключено приложение. Сохраняется в каталоге
%ВременнаяПапкаПользователя%\GlobalSystem\MetaDataCache\
Deprecated since version 4.29.0: Использовать следует
MetaCache.SaveCachedSelectionList
.
-
LoadCachedSelectionList
()¶ Загружает метаданные с сервера по списку выборок сформированному с помощью метода SaveCachedSelectionList и сохраняет в дисковом кеше.
Deprecated since version 4.29.0: Использовать следует
MetaCache.LoadCachedSelectionList
.
-
AdvMetaCheckVersion
: Boolean¶ Свойство сообщает выполняется ли в данном сеансе проверка версии метаданных при загрузке кеша. Значение зависит от: Включен режим загрузки метаданных архивом и База данных поддерживает работу с версиями метаданных (первый же неотработавший запрос версии выставляет внутренний флаг “Версионность метаданных не поддерживается”, флаг будет активен до самого завершения работы приложения).
Атрибут только для чтения.
Return type: Boolean Deprecated since version 4.29.0: Использовать следует
MetaCache.CheckVersionActive
.
-
AutoCompleteFlatTables
: Boolean¶ Позволяет установить режим “Автоподготовка к работе из приложения”
Return type: Boolean
-
FlatTables
: Boolean¶ Флаг определяет, использовать ли загрузку из плоских таблиц для приложения.
Return type: Boolean
-
1.8.11.3. Выборки¶
-
MainSelection
: TbtkScriptSelectionObject¶ Метод возвращает ссылку на главную выборку приложения.
Return type: TbtkScriptSelectionObject
-
FindFormBySelection
(): TbtkScriptFormObject¶ Метод ищет окно по системному имени главной выборки, среди всех MDI окон приложения.
Return type: TbtkScriptFormObject <Pascal> svSelName := 'SelectionName.Representation'; AForm := Application.FindFormBySelection(svSelName); if Assigned(AForm) then AForm.BringToFront; else CreateForm('', svSelName, fcfMDI); <Pascal>
-
GetSelectionById
(): TbtkScriptSelectionObject¶ Ищет выборку среди всех выборок приложения по ID-выборки
Return type: TbtkScriptSelectionObject
-
1.8.11.4. Служба оповещения¶
-
StopAlerter
()¶ Останавливает службу оповещений
-
RunAlerter
()¶ Метод запускает службу оповещений.
-
ShowAlertPopWindow
¶ Метод определяет показывать или нет всплывающее окно с тестом сообщения полученного системой оповещения в нижнем левом углу. Свойство влиет только на сообщения с меткой критичности Normal. На сообщения повышенной критичности свойство не распространяется.
-
1.8.11.5. Визуальные компоненты¶
-
AutoFilter
: Boolean¶ Свойство задает наличие автофильтра в спиках.
Return type: Boolean
-
MultilineWindowTabs
: Boolean¶ Отображать закладки окон в несколько строк.
Return type: Boolean <pascal> Application.MultilineWindowTabs := not Application.MultilineWindowTabs; Selection.Operation.Checked := Application.MultilineWindowTabs; </pascal>
-
ShowAutoFilterInSelectedColumn
: Boolean¶ Свойство задает видимость автофильтра только для колонки на шапку которой наведен указатель мыши. Если свойство выключить, то автофильтр будет видно для всех колонок постоянно, без наведения указателя мыши на шапку колонки списка.
Return type: Boolean
-
ShowTitle
: Boolean¶ Отображать заголовок приложения.
Return type: Boolean
-
ShowToolBar
: Boolean¶ Отображать тулбар.
Return type: Boolean
-
ShowMainMenu
: Boolean¶ Отображать главное меню приложения.
Return type: Boolean
Свойство управляет видимостью NavBar’a на главной форме.
Return type: Boolean <pascal> Application.ShowNavBar := 1; // Отображает NavBar Application.ShowNavBar := 0; // Скрывает NavBar </pascal>
-
ShowModernHeaders
: Boolean¶ Отображать широкий заголовок фреймов.
Return type: Boolean See also
Настройка фрейма
Header.ModernStyle
.
-
ShowSplitterButton
: Boolean¶ Показывать ли кнопки на сплиттерах. По умолчанию False.
Return type: Boolean
-
ShowStatusBar
: Boolean¶ Свойство задает флаг, отображать или нет панель статуса внизу главного окна.
Return type: Boolean
-
ShowMDIWindowList
: Boolean¶ Свойство включает/выключает список открытых окон внизу главного окна приложения.
Return type: Boolean
-
1.8.11.6. Управление окнами¶
-
Windows
(): TbtkScriptApplicationWindowsNamespace¶ Пространство имен для работы с окнами.
Return type: TbtkScriptApplicationWindowsNamespace New in version 5.6.0.
-
CloseAllTabs
()¶ Deprecated since version 5.6.0: Используйте
TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinForms()
-
CloseAllTabsButThis
()¶ Deprecated since version 5.6.0: Используйте
TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinFormsExceptCurrent()
-
NewApplication
()
-
Terminate
()¶ Метод выполняет беусловное закрытие приложения, вне зависимоти от существования открытых окон.
-
Close
()¶ Вызов метода аналогичен нажатию на кнопку закрытия окна (в верхнем правом углу). Перед закрытием приложения, если есть открытые окна, будет задан запрос на подтверждение закрытия приложения.
-
GetActiveMDIWindow
(): TbtkScriptFormObject¶ Возвращает активное MDI окно.
Return type: TbtkScriptFormObject <pascal> FormMDI := Application.GetActiveMDIWindow(); </pascal>
Deprecated since version 5.6.0: Используйте
TbtkScriptApplicationWindowsNamespace.GetActiveBuiltinForm()
-
CloseClicked
()¶
-
HighLightActiveControl
: Boolean¶ Свойство включает/выключает выделение активного контрола.
Return type: Boolean
-
1.8.11.7. Оформление¶
Свойство управляет стилем NavBar’oв. Возможные значения в Диапазоне [0 .. 13].
Return type: Integer
Метод открывает диалог выбора стиля NavBar’a и применяет изменения, если была нажата кнопка OK
<pascal> Application.ConfigureNavBarStyle; </pascal>
Метод открывает диалог выбора стиля NavBar’a. Метод возвращает номер выбранного стиля NavBar’a. Если стиль не был выбран, будет возвращено значение AcurStyle
Parameters: AcurStyle (Integer) – Текущий стиль NavBar’a. Return type: Integer <pascal> curnvb := Application.NavBarStyle; nvb := Application.SelectNavBarStyle(curnvb); if nvb <> curnvb then Application.NavBarStyle := nvb; </pascal>
-
SkinName
: String¶ Имя темы интерфейса.
Return type: String Deprecated since version 5.2.0: Следует использовать
TbtkScriptSkinControllerObject.ActiveSkinName
.
-
SkinController
: TbtkScriptSkinControllerObject¶ Свойство предоставляет средства для переключения темы и стиля интерфейса приложения.
Return type: TbtkScriptSkinControllerObject
-
LookAndFeel
: TbtkScriptApplicationObject¶ Стиль отображения элементов интерфейса.
Return type: TbtkScriptApplicationObject Deprecated since version 5.2.0: Следует использовать
TbtkScriptSkinControllerObject.LookAndFeel
.
1.8.11.9. Последовательный порт¶
-
GetSerialPort
(PortName: String): TbtkScriptSerialPortObject¶ Функция возвращает объект последовательного порта. Если объект не существует, то создает и возвращает, если объект уже создавался, то возвращает ранее созданный.
Parameters: PortName (String) – Имя порта. Return type: TbtkScriptSerialPortObject // Листинг тестовой операции: <PASCAL> 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') ); </PASCAL> // Листинг операции-обработчика OnComPortReaded: <PASCAL APortName> SerialPort := Application.GetSerialPort(PortName); ShowMessage(SerialPort.Data); </PASCAL>
-
1.8.11.10. Перехват клавиатуры¶
-
HookKeyboardKeyDownEvent
(Operation: TbtkScriptOperationObject)¶ Установить перехватчик. В параметре Operation необходимо указать операцию обратного вызова. Данная операция будет вызываться при каждом нажатие клавиш клавиатуры. Перхватчик можно снять с помощью
UnHookKeyboardKeyDownEvent
, либо будет снять автоматически при выгрузке метаданных. В приложение можно одновременно установить не более одного перехватчика на нажатие клавиш. При попытке установить перехватчик при уже установленном будет возбуждено исключение.Операция-обработчик вызывается с аргументами в которых передается информация о нажатой клавише:
- VirtualKey
- код виртуальной клавиши MSDN
- Char
- виртуальный код преобразованный в символ клавиатуры(Сканкод)
- ShiftState
- состояние зажатых модификаторов типа TShiftState.
- Handled
- флаг в который можно вернуть результат обработки нажатия. По умолчанию False - это значит, что нажатие клавиши будет передано следующим обработчикам. True - нажатие обработано, и другим обработчикам передавать обработку нажатия не надо. В этом случае контролы ни как не узнают о срабатывания клавиши.
Parameters: Operation (TbtkScriptOperationObject) – Операция обработчик. New in version 4.30.30.
<PASCAL args> 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; </PASCAL>
-
UnHookKeyboardKeyDownEvent
()¶ Снять перехват нажатий клавиатуры.
-
1.8.11.11. Отладочные методы¶
Caution
Отладочные методы следует использовать только в отладочных целях, они могут негативно сказываться на работе клиента.
ProcessMessages_OnlyForService
()¶Обрабатывает очередь сообщений приложения.
New in version Global: 5.6.0.4242
Deprecated since version Global: 5.6.0.4242