网页中有如下javascript的数组变量<SCRIPT LANGUAGE="JAVASCRIPT">
var Arrcount=3;
var Arr=new Array(3);
</SCRIPT>
<SCRIPT LANGUAGE="JAVASCRIPT">
Arr[0]=new Array('aa','bb','cc','dd');
Arr[1]=new Array('ee','ff','gg','hh');
Arr[2]=new Array('ii','jj','kk','ll');
</SCRIPT>在delphi中,如何通过webbrowser来访问这些数组呢?
var Arrcount=3;
var Arr=new Array(3);
</SCRIPT>
<SCRIPT LANGUAGE="JAVASCRIPT">
Arr[0]=new Array('aa','bb','cc','dd');
Arr[1]=new Array('ee','ff','gg','hh');
Arr[2]=new Array('ii','jj','kk','ll');
</SCRIPT>在delphi中,如何通过webbrowser来访问这些数组呢?
脚本中的全局变量和函数是脚本对象的属性和方法。通过脚本对象的IDispatch接口来获得属性和方法的类型和值。 if (Document=nil) or (ReadyState<{READYSTATE_COMPLETE}READYSTATE_INTERACTIVE)
then Exit;
// obtain "script" dispinterface
Document.QueryInterface(IID_IHTMLDocument, Doc);
if Doc=nil then Exit;
Disp:=Doc.Script;
// prepare global variable name
StringToWideChar(HandlerName, Name, SizeOf(Name)-1);
PName:=@Name; // <- double pointer!!!
// retrieve DispID
if Disp.GetIDsOfNames(GUID_NULL, @PName, 1, GetSystemDefaultLCID, @DID)<>S_OK
then Exit; // no such variable
var i:integer;i:=Olevariant(Document.parentWindow).document.script.Arrcount;
showmessage(inttostr(i));
http://blog.csdn.net/ideation_shang/archive/2009/07/22/4371286.aspx