自动退出为哪般?
程序中有:$oQuerys = _IEFormElementGetCollection($Form)当访问:$Query.name 时一般情况下不会出什么问题。
可是如果根本就没有"name"这个属性时,程序会自动退出。
这不是程序的问题,现在不想让它退出。
有没有一个判断的过程,即想要如下效果:
if not func($Query.name) then
$a ="NOT Exist"
Else
$a= $Query.name
endif
..............
请问有没有一个这样的过程func()?
谢谢
[ 本帖最后由 jiataifeng 于 2008-5-20 19:03 编辑 ] 你可设定了Com error处理函数? 没有啊,怎么设定? = =……看帮助去吧,老大……:face (13): 好。
不过你懂就说一下嘛。 是用OPT设置吗,帮助里好像也没有啊。
错误处理我好像在哪里见过,只是想不起来了。 是这个吗,不过好像没反应啊。
Opt("RunErrorsFatal", 0)
好像是错的 ObjEvent ( "AutoIt.Error" [, "函数名称"] )
这样就注册了一个com错误处理函数了……:face (13):
看帮助啊…… 不行。
不借助com能行吗?
因为用到的某些方法com中好像没有。
_IEFormGetCollection($oIE)
_IEFormElementGetCollection($Form)
怎么用在coM中?
晕 原帖由 jiataifeng 于 2008-5-20 08:36 发表 http://www.autoitx.com/images/common/back.gif
不行。
不借助com能行吗?
因为用到的某些方法com中好像没有。
_IEFormGetCollection($oIE)
_IEFormElementGetCollection($Form)
怎么用在coM中?
晕
白说无用。请结合一楼看看下面的代码如何修改。
到第四个表单时因为访问了不存在的属性,自动退出。
#include <IE.au3>
#include <Array.au3>
Dim $FormArray
Dim $NFArray
Dim $fmaxlengthc
Dim $Qmaxlengthc;每个表单获取的元素的最大长度数
dim $formname ;存储表单名称
dim $j = 0
$oIE =_IECreate("http://news.sina.com.cn",1,1)
$oForms = _IEFormGetCollection($oIE)
For $Form In $oForms
$formname[$j]=$Form.name
$jtf=$j+1
if @extended<>0 then
$numbd=@extended
EndIf
TrayTip("表单信息","这个页面上共有" & $numbd & "个表单"&@CRLF&"第"&$jtf&"个表单的名字为:"&$Form.name,50)
Sleep(2000)
$i = 0
$oQuerys = _IEFormElementGetCollection($Form)
For $Query In $oQuerys
;MsgBox(0,"t", $Query.name)
$FormArray[$i] = $Query.name
$FormArray[$i] = $Query.type
$FormArray[$i] = $Query.value
$i += 1
Next
ReDim $FormArray[$i]
$txt="表单控件信息"&$formname[$j]
_ArrayDisplay($FormArray,$txt )
ReDim $FormArray;不知道为什么要这样
$j += 1
Next
[ 本帖最后由 jiataifeng 于 2008-5-20 09:04 编辑 ] :face (32): 真无语,看说明啊= =!!!
既然已经使用了IEUDF,那么就这样注册错误处理:
_IEErrorHandlerRegister ( "ErrNotify" )
最最简单的错误处理函数:
Func ErrNotify()
SetError(1)
EndFunc 楼上说的很对。谢谢
页:
[1]