Как и в приложении VCL, в приложении Delphi TMS WEB Core есть одноэлементный объект TApplication. Приложение в основном отвечает за создание и управление формами и предоставляет дополнительно несколько методов, свойств и событий для помощи различными способами. Объект Application также отвечает за получение различных настроек форматирования (дата, время, числа) из браузера.
Обычно IDE автоматически генерирует необходимый код, чтобы создать основную форму приложения. Доступны следующие методы, свойства и события:
Методы, события и свойства | Назначение |
Application.Active: boolean | Свойство только для чтения, которое возвращает значение true, когда приложение запущено на активной вкладке активного окна браузера. |
Application.CreateForm (AInstanceClass: TFormClass; var AReference); | Метод, который создает новый экземпляр класса формы. Новый экземпляр формы возвращается через параметр AReference. Обратите внимание, что создание новой формы подразумевает загрузку файла HTML формы, и, таким образом, это асинхронный процесс. |
Application.CreateForm (AInstanceClass: TFormClass; AElementID: string; var AReference); | Метод создает новый экземпляр класса формы. Новый экземпляр формы возвращается через параметр AReference. Содержимое формы загружается в набор элементов HTML через, связывание элементов управления свойством ElementID. Таким образом, форма размещается в элементе формы, который ее содержит. Обратите внимание, что создание новой формы подразумевает загрузку файла HTML формы, и, таким образом, это асинхронный процесс. |
Application.CreateForm (AInstanceClass: TFormClass; AElementID: string; var AReference; AProc: TFormCreatedProc); | Перегрузка метода CreateForm (), которая имеет дополнительный параметр AProc. Это позволяет передать указатель на процедуру, которая будет вызвана, когда асинхронное создание формы будет выполнено. |
Application.CreateForm (AInstanceClass: TDataModuleClass; var AReference); | Создает новый экземпляр модуля данных |
Application.AppContainer: TElementID | Устанавливает идентификатор элемента HTML для элемента HTML, в котором будут созданы экземпляры TwebForm. По умолчанию Application.AppContainer установлен на «body», помещая новые созданные экземпляры формы в тело документа. |
Application.ErrorType | Определяет тип отображаемых сообщений об ошибках: aeSilent: ненавязчивое сообщение в консоли браузера. По умолчанию, когда приложение скомпилировано в режиме Release; aeDialog: HTML-диалог с сообщением об ошибке, расположенным в центре окна браузера; aeAlert: предупреждение Javascript с сообщением об ошибке; aeFooter: прямоугольная область в нижнем колонтитуле окна браузера, содержащая сообщение об ошибке. |
Application.FormCaptionHeight: integer; | Устанавливает высоту заголовка диалогов во всем приложении. Высота по умолчанию — 22. |
Application.GoBack; | Перейти к предыдущей форме (если включена автоматическая маршрутизация форм) или предыдущему URL-адресу. А для SPA приложения это очень полезная вещь. |
Application.Hash: string | Получает или задает хэш URL-адреса приложения |
Application.LoadForm (AForm: TCustomForm; AFormFile: string); | Загружает HTML-файл, соответствующий экземпляру формы. Это асинхронный процесс. |
Application.InitFormatSettings (const BrowserLocale: string); | Это позволяет переопределить автоматическую инициализацию настроек формата из локали браузера по умолчанию. |
Application.Navigate (AURL: string; ATarget: TNavigationTarget); | Метод для перехода из приложения к заданному URL. С параметром ATarget можно настроить переход к URL в новом окне браузера или в окне, где запущено текущее приложение. |
Application.Download (AURL: string); | Начинает загрузку файла из приложения из расположения AURL. |
Application.DownloadTextFile (const AText: string; AFileName: string); | Начинает загрузку текстового файла из приложения с содержимым текстового файла, заданным как AText. |
Application.DownloadBinaryFile (const Data: TJSUint8Array; AFileName: string; ANewTab: Boolean = false); | Начинает загрузку двоичного файла из приложения с содержимым двоичного файла, установленным как Data, массив байтов. Когда ANewTab = true, загрузка начинается в новом окне браузера. |
Application.DownloadBinaryFile (const Data: TJSBlob; AFileName: string: ANewTab: Boolean = false); | Начинает загрузку двоичного файла из приложения с содержимым двоичного файла, установленным как "Данные доступны «Доступные данные в формате TJSBLob». Когда ANewTab = true, загрузка начинается в новом окне браузера. |
Application.DownloadBinaryFile (const Data: TBytes; AFileName: string: ANewTab: Boolean = false); | Начинает загрузку двоичного файла из приложения с содержимым двоичного файла, установленным как Данные, доступные в формате динамического массива TBytes. Когда ANewTab = true, загрузка начинается в новом окне браузера. |
Application.EXEName: string | Возвращает URL-адрес приложения. |
Application.ColorScheme: TApplicationColorScheme | Функция возвращает, работает ли браузер в операционной системе с обычной цветовой темой или темной цветовой темой. TApplicationColorScheme = (csNoScheme, csLight, csDark); csNoScheme: не удалось обнаружить рабочую цветовую схему; csLight: в операционной системе по умолчанию установлен светлый цвет; csDark: в операционной системе по умолчанию установлен темный цвет. |
Application.Themed: boolean | Если задано значение true, формы в приложении и его элементы управления автоматически адаптируют свой цвет в соответствии с цветовой темой операционной системы по умолчанию: csLight или csDark. |
Application.InsertCSS (CSSID, CSSFile: string); | Динамическая вставка ссылки на библиотеку CSS с CSSID в HTML-код главной формы приложения. |
Application.RemoveCSS (CSSID: string); | Динамически удаляет ссылку на библиотеку CSS с CSSID из HTML-кода главной формы приложения. |
Application.ActiveForm: TForm | Возвращает активную форму приложения. |
Application.AutoRouteForm: boolean | Если задано значение true, имя класса формы может быть передано как хэш в URL-адресе, а затем приложение автоматически создаст и отобразит форму этого имени класса. |
Application.HandleOAuth: boolean | По умолчанию это true, и объект Application обрабатывает обратные вызовы OAuth. Установите это значение в false, когда обратные вызовы OAuth будут обрабатываться пользовательским способом. |
Application.HintClassName: string | Задает имя класса для подсказок, отображаемых, когда форма является формой Bootstrap. |
Application.HintHidePause: integer | Устанавливает время в миллисекундах, после которого подсказка скрывается при наведении мыши на элемент управления. Это применимо к формам Bootstrap. |
Application.HintPause: integer | Устанавливает время в миллисекундах, после которого отображается подсказка при наведении мыши на элемент управления. Это применимо к формам Bootstrap. |
Application.HintPosition: THintPosition | Устанавливает положение подсказки, отображаемой относительно элемента управления. Возможные варианты: hpLeft, hpTop, hpRight, hpBottom. Это применимо к формам Bootstrap. |
Application.IsOnline: Boolean | Свойство только для чтения, возвращающее онлайн-статус приложения. |
Application.IsMobile: boolean | Свойство только для чтения, возвращающее информацию о том, запущено ли веб-приложение на мобильном устройстве (смартфоне или планшете). |
Application.IsPWA: boolean | Свойство только для чтения, возвращающее информацию о том, запущено ли веб-приложение как PWA, т. е. запущено ли оно с помощью значка на рабочем столе устройства. |
Application.MainForm: TForm | Возвращает основную форму приложения. |
Application.ObjectURL (Afile: TJSHTMLFile): string; | Возвращает URL-адрес данных из файлового объекта. |
Application.Route | При использовании хеша URL-адреса автоматически открывается класс формы, указанный с помощью хеша. |
Application.RouteForm (AParameter: string); | Автоматически запускать форму с именем класса, переданным в качестве параметра запроса form=TFormClassName |
Application.RunScript (AScript: string); | Немедленно выполняет блок кода JavaScript. |
Application.MainForm | Возвращает экземпляр формы, который является текущей активной основной формой приложения. |
Application.Parameters: TStrings; | Возвращает список возможных необязательных параметров запроса URL, с которыми было запущено приложение. |
Application.Language: TUILanguage | Устанавливает опционально язык приложения. Когда язык приложения установлен, возможно, что будет загружен HTML-файл, специфичный для языка, для формы. По умолчанию Application.Language установлен на lNone. Когда Application.Language установлен на другое значение, HTML-файл, загруженный для формы, получает суффикс, специфичный для языка. Например, когда Application.Language установлен на lGerman, приложение загрузит форму в unit1.pas и будет иметь HTML-файл формы с именем unit1.html как unit1_de.html. Таким образом, можно иметь HTML-файлы, специфичные для разных языков, и приложение будет загружать нужный HTML-файл формы, когда будет установлен язык. |
Application.ThemeColor: TColor | Получает и задает цвет фона темы приложения. Этот цвет фона темы используется как цвет фона заголовка формы при создании всплывающих форм. |
Application.ThemeTextColor: TColor | Получает и задает цвет текста темы приложения. Этот цвет текста темы используется как цвет текста заголовка формы при создании всплывающих форм. |
Application.ThemeButtonClassName | Получает и задает имя класса стиля CSS приложения для кнопок, созданных в диалоговых окнах. |
Application.OnActivate | Событие срабатывает, когда браузер или вкладка браузера, где запущено приложение, становится активным или неактивным окном браузера. Параметр Active возвращает, запущено ли приложение в активном браузере или вкладке браузера или нет. |
Application.OnException | Событие срабатывает при срабатывании исключения RTL. Это позволяет выполнять обработку исключений на центральном уровне приложения. |
Application.OnError | Событие срабатывает при возникновении ошибки в приложении. Это может быть исключение Pascal или любая ошибка, специфичная для HTML DOM. Событие передает информацию об ошибке в параметре AError: TAppplicationError. Если параметр Handled установлен в значение true, стандартная ошибка больше не выполняется. |
Application.OnExit | Событие срабатывает, когда пользователь выходит из приложения или закрывает браузер, в котором запущено приложение. |
Application.OnFontCacheReady | Событие срабатывает, когда шрифты успешно загружены в кэш. Кэширование шрифтов используется для генерации PDF на стороне клиента |
Application.OnHashChange | Событие срабатывает при изменении параметра запроса хэша в URL-адресе приложения. Если приложение было запущено с помощью myapp.html, а затем используется URL-адрес myapp.html#newform, будет срабатывать событие OnHashChange. При использовании в сочетании с AutoRouteForm имя класса формы может быть передано как хэш, и эта форма будет создана при изменении хэша. |
Application.OnImageCacheReady | Событие срабатывает, когда изображения, которые были настроены на загрузку путем установки URL, завершают загрузку асинхронно. Может потребоваться принудительно перерисовать элементы управления из этого события. |
Application.OnOnlineChange | Событие срабатывает при изменении статуса приложения в сети. То есть, когда устройство переходит из режима онлайн в режим офлайн или наоборот, это событие срабатывает. |
Application.OnPopState | Событие срабатывает при нажатии кнопки «Назад» в браузере, когда история окна содержит состояние. |
Application.OnOAuthToken | Это событие срабатывает, когда токен возвращается из службы REST API после аутентификации и авторизации через всплывающее окно. |
Application.OnOAuthCallBack | Это событие срабатывает, когда служба REST API, в которой выполняется аутентификация и авторизация с помощью всплывающего окна, выполняет обратный вызов приложения, из которого она была запущена. |