Что нового

[Сеть, интернет] Работа функции IEFormElementGetObjByName

Vlasssov

Осваивающий
Сообщения
430
Репутация
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


Я так и не понял где она возвращает объект элемента формы? Везде ошибки.
 

InnI

AutoIT Гуру
Сообщения
4 483
Репутация
1 216
Vlasssov [?]
где она возвращает объект элемента формы?
Из справки по функции SetError(): "По умолчанию ничего не возвращает, однако, если указан 3 параметр, функция возвращает его."
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 320
Vlasssov,
[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
Тема не решена
[/info]
 
Автор
Vlasssov

Vlasssov

Осваивающий
Сообщения
430
Репутация
25
InnI [?]
Из справки по функции SetError(): "По умолчанию ничего не возвращает, однако, если указан 3 параметр, функция возвращает его."
Век живи, век учись...
 
Верх