線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1511
推到 Plurk!
推到 Facebook!

关于向IWebBrowser2 interface Load 入HTML的问题

缺席
KFC123_60201
一般會員


發表:58
回覆:18
積分:15
註冊:2006-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-25 01:35:51 IP:59.107.xxx.xxx 訂閱

大家好,

我现在利用Microsoft的IWebbrowser2 Inteface来写IE程序(不是利用控件),我利用IPersistStreamInit来读入HTML,在XP下成功。但在win2k下却总是出错,我查过MSDN,这个接口应该是支持XP和win2k的,但我怎么试在win2k下始终都是失败

Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-25 12:00:33 IP:211.78.xxx.xxx 未訂閱

請列出你的錯誤訊息

可能的話請你列出你認為可能出錯的程式嗎

不然大家那裡知道是什麼出錯

------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
KFC123_60201
一般會員


發表:58
回覆:18
積分:15
註冊:2006-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-25 12:42:48 IP:59.107.xxx.xxx 訂閱

===================引 用 文 章===================

請列出你的錯誤訊息

可能的話請你列出你認為可能出錯的程式嗎

不然大家那裡知道是什麼出錯

找原想贴出来的,但这里不允许paste。现在重打

Stream: IStream;
hHTMLText: HGLOBAL;
psi: IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then Exit;
hHTMLText := GlobalAlloc(GPTR, Length(html) 1 );
if 0=hHTMLText then RaiseLastWin32Error;

CopyMemory(Pointer(hHTMLText), PChar(Html), Length(Html));

OleCheck(CreateStreamOnHGlobal(hHTMLText, True, Stream));
try
OleCheck(WebBrowser.Document.QueryInterface(IPersistStreamInit, psi));
try
OleCheck(psi.InitNew);
OleCheck(psi.Load(Stream));
finally
psi := nil;
end;
finally
Stream := nil;
end;
end;

这段代码在WinXP下完全OK,但在win2k下则出错,内存不可读。找仔细查过是第二个try中的那两句产生问题的。

系統時間:2024-04-28 5:48:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!