1

我正在尝试在 Form1.Activate 事件中执行此代码:

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中不起作用,而thefor给出了ACCESS VIOLATION错误。但它在 Delphi 2010 中效果很好 :) 感谢大家的帮助 :)

4

3 回答 3

1

你应该添加第二个参数about:blank ie。

TChromium.Browser.MainFrame.LoadString ('<html>something</html>', 'about:blank');
于 2018-11-14T11:27:05.823 回答
0

您是否尝试过 Form1.Create 事件?它是否需要像在“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;
于 2013-07-14T15:51:27.287 回答
0

在 Delphi 7 中,我不断收到访问冲突错误并更改了

frame := Chromium.Browser.MainFrame;

frame :=Chromium.Browser.GetMainFrame;

我不知道为什么会这样,因为我在这方面完全是垃圾,但确实如此。希望这可以帮助某人。

于 2016-04-04T20:01:17.943 回答