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;

Я не знаю, почему это работает, потому что я полностью ерунда, но это так. Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам