Delphi TChromium нагрузка от переменной функции не работает
Я пытаюсь выполнить этот код в Form1.Activate Event:
Chromium.Browser.MainFrame.LoadString('<html>erg</html>', '');
Но я получаю ошибку НАРУШЕНИЕ ДОСТУПА, в чем проблема? Что я делаю не так?
Вот код (не полный):
//-------------------------FORM ACTIVATE BEGIN
Form1.DoubleBuffered:=True;
//Get Task Panel Size BEGIN
TPanel.cbSize := SizeOf(TPanel);
ShAppbarMessage(ABM_GETTASKBARPOS, TPanel);
Task_Panel_Size:=(TPanel.rc.bottom - TPanel.rc.top);
//Get Task Panel Size END
//Maximaze BEGIN
FormMaximize();
//Maximaze END
//Load Default Page\\\\\\\\\\\\
//Load First Part--ExtractFilePath(Application.ExeName)+'Apps\Speed_Dials\index_Part1.html'
//File_get_contents(ExtractFilePath(Application.ExeName)+'Apps\Speed_Dials\index_Part1.html');
Chromium.Browser.MainFrame.LoadString('<html>erg</html>', '');
//Chromium.Load(ExtractFilePath(Application.ExeName)+'Apps\Speed_Dials\index_Part1.html');
//-------------------------FORM ACTIVATE END
Проблема решена, проблема заключалась в том, что этот метод не работает в Delphi7 и, тем самым, выдает ошибку ACCESS VIOLATION. Но это прекрасно работает в Delphi 2010:) Спасибо всем за помощь:)
3 ответа
Решение
Вы пробовали на Form1.Create Event? Требуется ли его создание, как в "Chromium.Create"?
попробуй это
var
frame: ICefFrame;
source: ustring;
begin
if Chromium.Browser = nil then
showmessage('Not created');
frame := Chromium.Browser.MainFrame;
source := '<html>erg</html>';
frame.LoadString(source, '');
end;
Вы должны добавить второй параметр about:blank т.е.
TChromium.Browser.MainFrame.LoadString ('<html>something</html>', 'about:blank');
В Delphi 7 я продолжал получать ошибку нарушения доступа и менял
frame := Chromium.Browser.MainFrame;
в
frame :=Chromium.Browser.GetMainFrame;
Я не знаю, почему это работает, потому что я полностью ерунда, но это так. Надеюсь, это кому-нибудь поможет.