Автор Тема: [Баг] DllStructSetData() - возврат ошибки 2  (Прочитано 6430 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
По идее (и по справке) следующий код должен вернуть флаг @error со значением 2, но не возвращает.
Код: AutoIt [Выделить]
Local $tByte = DllStructCreate('byte')
DllStructSetData($tByte, 1, 300)
ConsoleWrite([email protected]: ' & @error & @LF)
ConsoleWrite('value: ' & DllStructGetData($tByte, 1) & @LF)

Проверял в версиях 3.3.6.1, 3.3.8.1, 3.3.12.0.

Русское сообщество AutoIt

[Баг] DllStructSetData() - возврат ошибки 2
« Отправлен: Май 03, 2015, 06:18:18 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: [Баг] DllStructSetData() - возврат ошибки 2
« Ответ #1, Отправлен: Май 03, 2015, 08:17:05 »
А вот и нет. В элемент структуры должен быть помещен старший байт слова и без всяких проверок (и это правильно). Ошибка 2 возвращается, если порядковый номер элемента находится за допустимыми пределами или его имя не существует.

Код: AutoIt [Выделить]
DllStructSetData($tByte, 2, 300)


Ошибка 3 возвращается, когда указан неверный индекс элемента.

Код: AutoIt [Выделить]
DllStructSetData($tByte, 1, 300, 2)


Просто в русской справке неточный перевод.


Думай, прежде чем говорить.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790

  • Автор темы
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: [Баг] DllStructSetData() - возврат ошибки 2
« Ответ #2, Отправлен: Май 03, 2015, 10:06:55 »
Yashied  [?]
Цитировать
В элемент структуры должен быть помещен старший байт слова и без всяких проверок
Не знал, спасибо.

Цитировать
в русской справке неточный перевод.
ИМХО, в ней переведено то, что написано в английской, так что надо и в английской уточнить (разжевать).

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2693
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: [Баг] DllStructSetData() - возврат ошибки 2
« Ответ #3, Отправлен: Май 03, 2015, 10:22:39 »
ИМХО, в ней переведено то, что написано в английской, так что надо и в английской уточнить (разжевать).
В английской (слова "value" нет):

"Element out of range or unknown."

В русской:

"Значение элемента выходит за пределы диапазона."


Добавлено: Май 03, 2015, 10:29:24
Кстати, на ошибку 3 ("Индекс выходит за пределы структуры.") тоже неверный перевод. Причем здесь структура?
« Последнее редактирование: Май 03, 2015, 10:29:24 от Yashied, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: [Баг] DllStructSetData() - возврат ошибки 2
« Ответ #3 Отправлен: Май 03, 2015, 10:22:39 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
4993 Просмотров
Последний ответ Октябрь 25, 2009, 09:48:28
от snoitaleR
11 Ответов
6428 Просмотров
Последний ответ Ноябрь 06, 2009, 12:35:10
от amel27
1 Ответов
2029 Просмотров
Последний ответ Май 22, 2011, 14:47:24
от axlwor
6 Ответов
3820 Просмотров
Последний ответ Август 14, 2011, 00:27:49
от madmasles
6 Ответов
2513 Просмотров
Последний ответ Май 19, 2012, 21:13:35
от lazarxxx
7 Ответов
5476 Просмотров
Последний ответ Ноябрь 23, 2012, 16:09:20
от Medic84
2 Ответов
1764 Просмотров
Последний ответ Ноябрь 12, 2012, 13:39:33
от cr3sh
3 Ответов
2076 Просмотров
Последний ответ Август 09, 2013, 17:22:57
от Naisho
5 Ответов
2313 Просмотров
Последний ответ Декабрь 13, 2013, 19:58:29
от Z_Lenar
3 Ответов
1745 Просмотров
Последний ответ Декабрь 30, 2013, 09:13:08
от madmasles