2013-07-14 40 views
0

我想在Form1.Activate事件来执行该代码:德尔福TChromium负荷变函数不工作

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给访问冲突错误。但是,它的工作原理 伟大在Delphi 2010 :) 感谢所有帮助:)

+0

在哪里连锁的成员访问是AV。将其分成多行,每行都有一个成员访问权限。另外,不要隐藏我们的错误信息。逐字提供完整的错误信息。 –

+0

完整的错误是:模块'Project1.exe'中地址0047EB20的访问冲突。阅读地址00000000. – Priler

回答

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; 
+0

我试过Form1.Create和所有事件,但它不工作... – Priler

+0

没有创建方法 – Priler

+0

使用此,我得到这个:[Error] Unit1.pas(117):未声明标识符:'ICefFrame' [错误] Unit1.pas(118):未声明标识符:'ustring' [错误] Unit1.pas(141):缺少操作符或分号 [错误] Unit1.pas(141):Incompatible类型:'红衣主教'和'字符串' [致命错误] Project1.dpr(5):无法编译使用单位'Unit1.pas' – Priler

0

在Delphi 7我一直得到一个访问冲突错误,改变

frame := Chromium.Browser.MainFrame; 

frame :=Chromium.Browser.GetMainFrame; 

我不知道为什么,因为我的作品这完全是垃圾,但确实如此。 希望这可以帮助别人。