2013-07-14 68 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; 

我不知道爲什麼,因爲我的作品這完全是垃圾,但確實如此。 希望這可以幫助別人。