vcomp71
Осваивающий
- Сообщения
- 431
- Репутация
- 25
Кусок кода из стандартного модуля ie.au3
Я так и не понял где она возвращает объект элемента формы? Везде ошибки.
Код:
; #FUNCTION# ;====================================================================================================================
; Name...........: _IEFormElementGetObjByName
; Description ...: Returns an object reference to a Form Element by name
; Parameters ....: $o_object - Object variable of an InternetExplorer.Application, Form object
; $s_name - Specifies the name of the Form Element you wish to match
; $i_index - Optional: If the Form Element name occurs more than once, specifies instance by 0-based index
; - 0 (Default) or positive integer returns an indexed instance
; - -1 returns a collection of the specified Form Elements
; Return values .: On Success - Returns an object variable pointing to the Form Element object, @EXTENDED = form count
; On Failure - Returns 0 and sets @ERROR
; @ERROR - 0 ($_IEStatus_Success) = No Error
; - 3 ($_IEStatus_InvalidDataType) = Invalid Data Type
; - 4 ($_IEStatus_InvalidObjectType) = Invalid Object Type
; - 7 ($_IEStatus_NoMatch) = No Match
; @Extended - Contains invalid parameter number
; Author ........: Dale Hohm
; ===============================================================================================================================
Func _IEFormElementGetObjByName(ByRef $o_object, $s_Name, $i_index = 0)
If Not IsObj($o_object) Then
__IEErrorNotify("Error", "_IEFormElementGetObjByName", "$_IEStatus_InvalidDataType")
Return SetError($_IEStatus_InvalidDataType, 1, 0)
EndIf
;
If Not __IEIsObjType($o_object, "form") Then
__IEErrorNotify("Error", "_IEFormElementGetObjByName", "$_IEStatus_InvalidObjectType")
Return SetError($_IEStatus_InvalidObjectType, 1, 0)
EndIf
;
;----- Determine valid collection length
Local $i_length = 0
Local $o_col = $o_object.elements.item($s_Name)
If IsObj($o_col) Then
If __IEIsObjType($o_col, "elementcollection") Then
$i_length = $o_col.length
Else
$i_length = 1
EndIf
EndIf
;-----
$i_index = Number($i_index)
If $i_index = -1 Then
Return SetError($_IEStatus_Success, $i_length, $o_object.elements.item($s_Name))
Else
If IsObj($o_object.elements.item($s_Name, $i_index)) Then
Return SetError($_IEStatus_Success, $i_length, $o_object.elements.item($s_Name, $i_index))
Else
__IEErrorNotify("Warning", "_IEFormElementGetObjByName", "$_IEStatus_NoMatch")
Return SetError($_IEStatus_NoMatch, 0, 0) ; Could be caused by parameter 2, 3 or both
EndIf
EndIf
EndFunc ;==>_IEFormElementGetObjByName
Я так и не понял где она возвращает объект элемента формы? Везде ошибки.