读书人

从TcppWebBrowser中获组脚本变量数组的

发布时间: 2012-02-29 16:44:11 作者: rapoo

从TcppWebBrowser中获组脚本变量数组的奇怪问题

HTML code
//有网页脚本数组如下:<script>var hello=[];hello[0]=[1,2,3,4,5];hello[1]=[6,7,8,9,10];</script>


C/C++ code
//这能显示数组为:1,2,3,4,5,6,7,8,9,10void __fastcall TMainForm::Button4Click(TObject *Sender){Variant vDoc=wb->Document;Variant vScript=vDoc.OlePropertyGet("Script");AnsiString s=vScript.OlePropertyGet("hello"); ShowMessage(s);}//这样却提示"未知名称"的错误.void __fastcall TMainForm::wbDocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL){Variant vDoc=wb->Document;Variant vScript=vDoc.OlePropertyGet("Script");AnsiString s=vScript.OlePropertyGet("hello");ShowMessage(s);}


这是什么原因,请大家指教.

[解决办法]
DocumentComplete每个框架都要触发一次,你那个脚本在第一次DocumentComplete的时候还没被执行
等待最后一个DocumentComplete,参考http://support.microsoft.com/kb/180366

读书人网 >C++ Builder

热点推荐