Re[3]: Кроссплатформенный tchart в Delphi и Lazarus
От: paradok  
Дата: 15.12.22 14:03
Оценка: -1
Здравствуйте, Khimik, Вы писали:

K>Здравствуйте, paradok, Вы писали:


P>>Ну как подключить к дельфи и лазарю уверен вы знаете знаете


K>Не знаю, прошу пояснить. Или это троллинг?



https://codemonkeydeveloper.blogspot.com/2016/01/delphi-twebbrowser-javascript.html

Delphi TWebBrowser выполнение JavaScript
в посте описано как в компоненте TWebBrowser выполнить скрипт JavaScript.Для выполнения скрипта потребуются подключить модули MSHTML_TLB, SHDocVw. Модуль SHDocVw идет в комплексе Delphi, а вот модуль MSHTML_TLB нужно экспортировать с Microsoft HTML Object Library. Модуль MSHTML_TLB нужен для определения интерфейса IHTMLDocument2 и выполнения скриптов.
Для получения файла модуля выполним следующие действия:

В Delphi открываем Component -> Import ActiveX Control...
В появившемся окне выбираем Import ActiveX Control, нажимаем Next>>
В списке выбираем "Microsoft HTML Object Library", нажимаем Next>>
Указываем каталог куда положим модуль
Далее на своё усмотрение выбираем создать модуль, добавить его в проект или установить и нажимаем Finish.

Теперь у нас есть все необходимые модули и можно написать код для выполнения скрипта JavaScript.


К модулю где будет реализовываться функция подключаем в uses SHTML_TLB, SHDocVw.

И описываем процедуру.

procedure ExecuteScript(doc: IHTMLDocument2; script: string; language: string);
begin
if doc <> nil then
begin
if doc.parentWindow <> nil then
doc.parentWindow.ExecScript(script, Olevariant(language)) ;
end;
end;

Пример использования данной процедуры.

var
script : string;
begin
//Данный скрипт найдет первый элемент с ID равной = "main" и покажет его тэги;
script := 'var elemMain = document.getElementById("main"); '+
'if (elemMain != null) { alert(elemMain.tagName) ; }';
ExecuteScript(EmbeddedWB1.Document as IHTMLDocument2, script, 'javascript');
end;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.