Что нового

ошибка в библиотеке array.au3

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
посмотрите пожалуйста, сам библиотеку трогать побаиваюсь, при запуске скрипта, появляется новым окном в редакторе и пишет об ошибке
 

Вложения

  • _Array.au3
    85.4 КБ · Просмотры: 5

MaximK

Знающий
Сообщения
33
Репутация
5
Покажите сам скрипт где выскакивает ошибка
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
VermanVendetta13
Это старая UDF для версий 3.2.10+. В современных версиях она работать не будет (не должна). Самое лучшее удалите ее и используйте ту, которая в комплекте.
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
madmasles сказал(а):
VermanVendetta13
Это старая UDF для версий 3.2.10+. В современных версиях она работать не будет (не должна). Самое лучшее удалите ее и используйте ту, которая в комплекте.

Так весь прикол и заключается в том что она комплектная. Не можете мне скинуть новую?
 

IgRo

Знающий
Сообщения
65
Репутация
5
Код:
; *****************************************************************************************
; Пример 3 - Объявляем одномерный массив, содержащий одинаковые значения.
; Используйте _ArrayUnique и учёт регистра, чтобы создать новый массив, содержащий только уникальные значения.
; *****************************************************************************************
#include <Array.au3>

Dim $aArray[6][2] = [[1, "A"],[2, "B"],[3, "C"],[1, "a"],[2, "b"],[3, "c"]]
_ArrayDisplay($aArray, "$aArray")
$aNewArray = _ArrayUnique($aArray, 1, 0, 1) ; Используются параметры по умолчанию, с учётом регистра
_ArrayDisplay($aNewArray, "$aNewArray возвращает первую размерность массива $aArray")

$aNewArray = _ArrayUnique($aArray, 2, 0, 1) ; Используются параметры по умолчанию, с учётом регистра
_ArrayDisplay($aNewArray, "$aNewArray возвращает вторую размерность массива $aArray")

В версиях Array.au3: 3.3.13.20, 3.3.15.0 выдаёт ошибку

Код:
"C:\program files\autoit3\Include\Array.au3" (2308) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
If IsInt($aArray[$iBase]) Then
If IsInt(^ ERROR

В 3.3.12.0 - работает
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Ничего удивительного, это уже не первый раз когда в этой библиотеке встречаются такие тупые ошибки.


Добавлено:
Сообщение автоматически объединено:

оформил тикет.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Поправка:

Код:
; Autocheck of first element
	If $iIntType = $ARRAYUNIQUE_AUTO Then
		Local $vBase = ($iDims = 1 ? $aArray[$iBase] : $aArray[$iBase][0])
		
		If IsInt($vBase) Then
			Switch VarGetType($vBase)
				Case "Int32"
					$iIntType = $ARRAYUNIQUE_FORCE32
				Case "Int64"
					$iIntType = $ARRAYUNIQUE_FORCE64
			EndSwitch
		Else
			$iIntType = $ARRAYUNIQUE_FORCE32
		EndIf
	EndIf
 

IgRo

Знающий
Сообщения
65
Репутация
5
Спасибо
исправил
 

Вложения

  • Array.au3
    99.2 КБ · Просмотры: 6
Верх