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
ShowNavBar: 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. Оформление

NavBarStyle: Integer

Свойство управляет стилем NavBar’oв. Возможные значения в Диапазоне [0 .. 13].

Return type:Integer
ConfigureNavBarStyle()

Метод открывает диалог выбора стиля NavBar’a и применяет изменения, если была нажата кнопка OK

Пример использования
<pascal>
  Application.ConfigureNavBarStyle;
</pascal>
SelectNavBarStyle(AcurStyle: Integer): Integer

Метод открывает диалог выбора стиля 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.8. Звуки

SoundManager()

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