1.2.16. Chromium фрейм

Классы фреймов:

class btkFrame.TbtkLookupChromiumHTMLViewerFrame

1.2.16.1. Описание

Фрейм для просмотра и редактирования HTML страниц на основе Chromium Embedded Framework

1.2.16.2. Свойства фрейма

Свойство Описание
TbtkLookupChromiumHTMLViewerFrame.HTMLFieldName Атрибут, который содержит HTML текст.

1.2.16.3. Вызов паскаль скриптов из HTML

1.2.16.3.1. Паскаль скрипт в ссылке

В документе HTML паскаль-скриптами могут быть ссылки. При нажатии на сслылку произойдёт выполнение скрипта в рамках текущей выборки.

Для этого в теле тэга, обозначающего гипер-ссылку, необходимо поместить управляющий тэг <script>. То что находится после этого тэга будет считаться скриптом

Пример
  <a href="<script><Pascal>
    ShowMessage('Hello, World');
  </Pascal>">Паскаль скрипт</a>

1.2.16.3.2. Вызов паскаль скрипта из JS

Для выполнениия паскаль скрипта из JS нужно воспользоваться методом btkSelection.executeOperationText().

1.2.16.4. JS расширения

btkSelection.executeOperationText(operationText[, operationArgs])

Выполняет текст паскаль скрипта в контексте текущей выборки.

Arguments:
  • operationText (string) – Текст паскаль скрипта.
  • operationArgs – Аргументы паскаль скрипта.
Выполнениие паскаль скрипта
btkSelection.executeOperationText("<Pascal> ShowMessage('Pascal exec'); </Pascal>");

В качестве operationArgs можно передать как единственное значение, так и массив. Аргуметы в паскаль скрипте доступны через “args” в открывающем теге “PASCAL”. В качестве аргументов можно передать только простые типы данных - Int, Bool, Double, Date, String.

Выполнениие паскаль скрипта с параметрами
btkSelection.executeOperationText("<Pascal arg> ShowMessage(arg); </Pascal>", "some text");

btkSelection.executeOperationText("<Pascal arg1, arg2, arg3> ShowMessage(IntToStr(arg1 + arg2 + arg3)); </Pascal>", [10, 18, 36]);

Выполенние паскаль скрипта происходит асинхронно. Для получения результата из паскаль скрипта у функции btkSelection.executeOperationText() необходимо вызвать метод “then”, в который необходимо передать коллбек вида callback(result). После выполнения паскаль скрипта будет вызван переданный коллбек, в который будет передан результат выполнения паскаль скрипта. В качестве результата из паскаль скрипта можно передавать только простые типы данных - Int, Bool, Double, String, или массив этих типов.

Выполнениие паскаль скрипта с возвраащемым результатом
function onOperationExecuted(result)
{
  alert(reslut);
}

btkSelection.executeOperationText("<Pascal> Result := 'Result from pascal'; </Pascal>").then(onOperationExecuted);