这是左轻侯的一段代码,可是这个老是说没声明。各位帮我看看吧。 (50分)

  • 主题发起人 主题发起人 netnice
  • 开始时间 开始时间
N

netnice

Unregistered / Unconfirmed
GUEST, unregistred user!
说明:content是要显示的html字符串
browser是TWebBrowser控件
作用是将html写入浏览器控件使它显示出来。

procedure TfrmMain.ShowHtml(Browser:TWebBrowser;content: string);
var
vv: Variant;
HTMLDocument: IHTMLDocument2;
begin
vv := VarArrayCreate([0,0],varVariant);
vv[0] := content;
HTMLDocument := browser.Document as IHTMLDocument2;
HTMLDocument.write(PSafeArray(TVarData(vv).VArray)); //这个地方出错
// 说 PSafeArray没定义。 psafearray好象是类型转换的。
HTMLDocument.charset := 'gb2312';
HTMLDocument.close;

end;
 
把 p去掉试试
GOOD LUCKY
 
可能是某个单元没有引用把!
 
你要uses ActiveX
 
这个问题解决了。新的问题又有了。

只要我一调用这个函数就出现什么内存地址不能读的错误啊。
这是为什么啊?
这段代码又什么错误啊?
 
他的软件总是这种鬼问题
 
这个问题我原来都回答过一次的.主要是这段代码执行前,这个TWebBrowser的IHTMLDocument2
接口还是NIL.你可以在其前面加上段如先浏览个空页面或者一个循环直到不为NIL时才调用WRITE
方法。这个问题主要是因为TWebBrowser是异步的,它还没把网页解析完你就去访问他的接口,那
当然就是出错了。:)
 
谢谢各位的热心回答!谢谢!!!

解决了!
 
后退
顶部