Автор Тема: Обсуждение AutoIt бета-версий  (Прочитано 124353 раз)

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

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7830
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Обсуждение AutoIt бета-версий
« Создано: Октябрь 15, 2009, 05:21:36 »
В этой теме только обсуждения связанные с последними бета-версиями.
« Последнее редактирование: Октябрь 27, 2009, 05:18:30 от CreatoR »


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

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

Обсуждение AutoIt бета-версий
« Ответ #225 Отправлен: Октябрь 15, 2009, 05:21:36 »

Оффлайн firex [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 943
  • Репутация: 203
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Обсуждение AutoIt бета-версий
« Ответ #225, Отправлен: Март 31, 2015, 22:02:36 »
AZJIO  [?]
Цитировать
о умолчанию возвращается 1, а не ожидаемое 0.
Так и должно быть.
SetError ( code [, extended = 0 [, return value = 1 ]] )
Цитировать
что если не вернуть явно значения @error и @Extended, то они будут равны 0
Это касается только SetError, и только если требуется модифицировать определенный флаг. К примеру:
Код: AutoIt [Выделить]
Таким образом мы модифицируем @Error без сброса флага @Extended, тут смысл есть, временами я сам использую подобную конструкцию.

Однако я имел ввиду именно следующие случаи:
Код: AutoIt [Выделить]
Фактически они абсолютно бессмысленны. Дело даже не в различном поведении SetError на разных версиях, а в том, что функция попросту вызывается зря и ничего не меняет.

Команда Return не обращает внимание и не сбрасывает значения флагов в любом случае, ровным счетом как и обычные операции на переменными.

Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2725
  • Репутация: 1140
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: Обсуждение AutoIt бета-версий
« Ответ #226, Отправлен: Март 31, 2015, 22:56:04 »
firex  [?]
Цитировать
Команда Return не обращает внимание и не сбрасывает
А кто говорт что она сбрасывает? Сама функция сбрасывает эти значения.
Попробуй пример
Код: AutoIt [Выделить]
$iResult = myFunc()
If @error Then
    MsgBox(4096, @AutoItVersion, "Ошибка = " & @error)
Else
    MsgBox(4096, @AutoItVersion, 'результат ' & $iResult)
EndIf

Func myFunc()
    Local $sOutput = StringRegExpReplace('тест', "[aeiou)", "@")
    ; If @error Then Return SetError(@error, @extended, 0)
    Return $sOutput
EndFunc

В данном случае StringRegExpReplace возвращает ошибку, но она не передаётся по наследству функции myFunc и последняя возвращает значение и ошибку равную 0, то есть не транслирует ошибку StringRegExpReplace наружу. Попробуй теперь раскомментировать строку и теперь ошибка StringRegExpReplace транслирыется наружу и функция myFunc возвратит ошибку равную 2.

Цитировать
Так и должно быть.
с какой стати? По умолчанию функция возвращает 0, почему же SetError без указания возвращаемого значения возвращает 1? Во вторых это появилось после того когда я отписал что поведение не ожидаемо и любой человек столкнётся рано или поздно с ошибкой. Разница в том что я указал, что возврат 1 должен быть указан в "Возвращаемой значение".


Оффлайн firex [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 943
  • Репутация: 203
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Обсуждение AutoIt бета-версий
« Ответ #227, Отправлен: Март 31, 2015, 23:06:54 »
AZJIO
Вот оно в чем дело... Так выходит без форсирования флагов с помощью SetError / SetExtended пользовательская функция их за собой обнуляет? Возможно я ошибаюсь, но разве было такое поведение в более ранних версиях?

Цитировать
что поведение не ожидаемо
Согласен, хотя с точки зрения NTSTATUS 0 - успех, и вызов функции SetError его не подразумевает.
« Последнее редактирование: Март 31, 2015, 23:15:59 от firex »

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

Re: Обсуждение AutoIt бета-версий
« Ответ #227 Отправлен: Март 31, 2015, 23:06:54 »

Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2725
  • Репутация: 1140
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: Обсуждение AutoIt бета-версий
« Ответ #228, Отправлен: Март 31, 2015, 23:14:53 »
firex  [?]
Цитировать
но разве было такое поведение в более ранних версиях?
я проверил, у меня и в новой версии такое же поведение. Так что ничего не изменилось и всё как написано в русской справке.

Попробуй ещё интересное поведение, пример:
Код: AutoIt [Выделить]
$iResult = myFunc()
MsgBox(4096, @AutoItVersion, 'результат ' & $iResult)

Func myFunc()
    SetError(@error, @extended, 13)
EndFunc

Здесь SetError фактически не устанавливает значение функции с умолчального 0 на 13, а значит форма записи SetError не верна и должна использоваться с Return. То есть SetError просто копирует переданной значение 13 в возвращаемое значение и не устанавливает его для данной функции по умолчанию.

Оффлайн firex [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 943
  • Репутация: 203
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Обсуждение AutoIt бета-версий
« Ответ #229, Отправлен: Март 31, 2015, 23:21:28 »
AZJIO  [?]
Цитировать
То есть SetError просто копирует переданной значение 13 в возвращаемое значение и не устанавливает его для данной функции по умолчанию.
Из этого может выйти приятная вещь. Подразумевается, что если функция была остановлена Return'ом без значения, то она вернет 1. В некоторых случаях может быть удобной альтернативой.

Код: AutoIt [Выделить]
Func myFunc()
    SetError( 1, 1, 1 )
   
    ; ...

    Return
EndFunc


Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2725
  • Репутация: 1140
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: Обсуждение AutoIt бета-версий
« Ответ #230, Отправлен: Март 31, 2015, 23:24:28 »
firex
Цитировать
Согласен, хотя с точки зрения NTSTATUS 0 - успех, и вызов функции SetError его не подразумевает.
С точки зрения AutoIt3 если проследить за многими функциями, то при успехе они возвращают 1 и это в чистом виде используется в условиях "если 1, то делаем то-то", соответственно 0 воспринимается как не успех, и тут вдруг используя SetError(1) это поведение меняется незаметно для пользователя, а он использует это возвращаемое значение как флаг.


Добавлено: Март 31, 2015, 23:29:46
firex  [?]
Цитировать
Из этого может выйти приятная вещь
Как ни странно  но это опять не поддерживается. Сейчас проверил, если после SetError были функции, то они затирают установленные значения SetError.
« Последнее редактирование: Март 31, 2015, 23:29:46 от AZJIO, Причина: Объединение сообщений »

Оффлайн inververs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 2135
  • Репутация: 461
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #231, Отправлен: Апрель 09, 2015, 22:15:18 »
v3.3.13.20 "не заставила себя долго ждать". Более полугода прошло после последнего обновления и что исправлено - практически ничего.
  • Map использует 64 битные целые
  • 2 обновления в документации
В UDF:
  • Cамое главное, это пожалуй то, что теперь вместо указателя ptr* можно передать структуру по ссылке struct*
  • 1 изменение в _Word_DocOpen() ломающая обратную совместимость. Внимание тем кто пользуется, читайте документацию.
  • и больше ничего интересного, исправлены баги, дописана документация, добавлены примеры.
Au3Check:
  • Поддерживает UTF-8 файлы с BOM
Тут список всех изменений:
http://www.autoitscript.com/forum/topic/169102-autoit-v331320-beta/
« Последнее редактирование: Апрель 09, 2015, 22:20:40 от inververs »

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

Re: Обсуждение AutoIt бета-версий
« Ответ #231 Отправлен: Апрель 09, 2015, 22:15:18 »

Оффлайн Lagoda [?]

  • Сообщений: 2
  • Репутация: -1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #232, Отправлен: Апрель 13, 2015, 05:15:53 »
А что никому не важно, что в проге троян есть?
_https://www.virustotal.com/ru/file/180908de50a505a8b0ace2166ad457d0f39d4e6bb036815920989ce32d6b4769/analysis/
и тут SciTE4AutoIt3 :
_https://www.virustotal.com/ru/file/feeca9953c4acf280298ac6b3fcd54ff3cdab918ba40d028c251281c96525b2c/analysis/

вы всё это с троянами юзаете?
_https://www.virustotal.com/ru/file/41f447a25f801e0a5ed9faf55956e27244380e9d49e7ecf2e10adf51fa84d747/analysis/

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2810
  • Репутация: 473
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #233, Отправлен: Апрель 13, 2015, 07:43:29 »
неужели? умные пользователи юзают адекватные антивири. по поводу реакции антивирусов есть тема. если не лень, найди и прочти
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Обсуждение AutoIt бета-версий
« Ответ #234, Отправлен: Апрель 14, 2015, 00:33:12 »
Lagoda
прошелся по твоим ссылкам. на каждый файл сработали не более 4 антивирусов из 50+. это очень низкий показатель и скорее всего ложное срабатывание. я бы не был так категоричен в высказываниях. учитывая, что многие антивирусы не любят autoit в принципе.
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2810
  • Репутация: 473
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #235, Отправлен: Апрель 24, 2015, 07:07:09 »
версия 3.3.13.20
при чтении из файла возвращает бинарные данные вместо текстовых.
открытие файла делал по умолчанию(для чтения)
плюс проблема с ошибкой выделения памяти. использовался один и тот же код. на версиях 3.3.12.0
Хотел переписать код и воспользоваться функциями Map из новой версии языка, но, видимо, придется подождать :)
« Последнее редактирование: Апрель 24, 2015, 12:43:14 от joiner »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3975
  • Репутация: 1056
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Обсуждение AutoIt бета-версий
« Ответ #236, Отправлен: Апрель 24, 2015, 11:14:54 »
joiner
Цитировать
при чтении из файла возвращает бинарные данные вместо текстовых
Обсуждалось в этой же теме: Ответ #197
Сообщено разработчикам 7 месяцев назад: #2901
Что-то Jon совсем проект забросил. Печально :(

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2810
  • Репутация: 473
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #237, Отправлен: Апрель 24, 2015, 11:39:36 »
а по поводу  Error allocating memory?

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3975
  • Репутация: 1056
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Обсуждение AutoIt бета-версий
« Ответ #238, Отправлен: Апрель 24, 2015, 11:57:02 »
joiner
Цитировать
по поводу  Error allocating memory
В тикете #2901: "If change string" и далее.

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2810
  • Репутация: 473
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Обсуждение AutoIt бета-версий
« Ответ #239, Отправлен: Апрель 24, 2015, 12:36:05 »
понятно. печалька еще какая. походу, последняя стабильная версия на долго

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

Re: Обсуждение AutoIt бета-версий
« Ответ #239 Отправлен: Апрель 24, 2015, 12:36:05 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
21 Ответов
12994 Просмотров
Последний ответ Август 12, 2011, 16:50:58
от Odinvasya
3 Ответов
7976 Просмотров
Последний ответ Май 01, 2010, 10:01:04
от Guezt Gutsy
83 Ответов
44743 Просмотров
Последний ответ Февраль 25, 2013, 10:41:42
от Astel064
29 Ответов
14351 Просмотров
Последний ответ Апрель 16, 2016, 01:21:30
от Alofa
58 Ответов
62509 Просмотров
Последний ответ Апрель 28, 2015, 23:23:16
от Ziggurat
4 Ответов
8817 Просмотров
Последний ответ Июнь 23, 2012, 17:20:03
от _AM
0 Ответов
4870 Просмотров
Последний ответ Март 19, 2012, 09:19:01
от madmasles
30 Ответов
17614 Просмотров
Последний ответ Апрель 02, 2012, 03:44:53
от Garrett
0 Ответов
2265 Просмотров
Последний ответ Декабрь 25, 2012, 15:09:49
от inververs
2 Ответов
1528 Просмотров
Последний ответ Сентябрь 01, 2015, 08:04:54
от ildar