Delphi TChromium从变量函数加载不起作用

时间:2013-07-14 14:58:03

标签: delphi tchromium

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

Chromium.Browser.MainFrame.LoadString('<html>erg</html>', '');

但我收到了ACCESS VIOLATION错误,有什么问题吗? 我做错了什么?

这是代码(未完整):

    //-------------------------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中不起作用,并且forfor给出了ACCESS VIOLATION错误。但它的确有效   伟大的Delphi 2010 :)   感谢大家的帮助:)

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

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

frame := Chromium.Browser.MainFrame;

frame :=Chromium.Browser.GetMainFrame;

我不知道为什么会有效,因为我对此完全是垃圾,但确实如此。 希望这有助于某人。

答案 2 :(得分:0)

您已添加第二个参数关于:空白 即。

TChromium.Browser.MainFrame.LoadString ('<html>something</html>', 'about:blank');