Что нового

[Ошибки] Кто это должен исправлять?

gora

Знающий
Сообщения
315
Репутация
19
В скрипте оказались вместе
Код:
#include <APIConstants.au3>
#include <GuiImageList.au3>

При запуске скрипта имеем ошибку:
---------------------------
AutoIt Error
---------------------------
Line 12 (File "C:\Program Files (x86)\AutoIt3\Include\ImageListConstants.au3"):

Global Const $E_INVALIDARG = 0x80070057
Global Const ^ ERROR

Error: Can not redeclare a constant.
---------------------------
ОК
---------------------------
Собственно все, вопрос в заголовке.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Как вариант - если значения констант в обоих инклудах одинаковы - полазить и покомментить все совпадения на которые жалуется интерпретатор ручками :smile:
 
Автор
G

gora

Знающий
Сообщения
315
Репутация
19
Belfigor [?]
и покомментить все совпадения
А потом? Когда этой сладкой парочки в другом скрипте вместе не встретится снова все разкомментить "взад"? И как часто этим заниматься?
Ошибка "глобальная" и решаться должна глобально. :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
ошибка глобальная становистся локальной банальным переносом конфликтующих файлов в папку скрипта и работы с ними там, не трогая эти файлы в папке где установлен автоит. У тебя не раз такое будет, например ты будешь использовать Opt("MustDeclareVars", 1), и с ужасом обнаружишь в что некоторых UDF заданы не явно сотни переменных, там тебе тоже ручками везде придется подписывать Global или Local.
 
Автор
G

gora

Знающий
Сообщения
315
Репутация
19
Belfigor [?]
переносом конфликтующих файлов в папку скрипта и работы с ними там
Это не выход. Мне тогда для каждого скрипта делать свои папки со своими наборами? И постоянно отслеживать не появились ли конфликтующие UDF одновременно? А вдруг одна из них (UDF) из скрипта исчезла?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Можешь использовать IsDeclared.
Есть еще другой вариант, свяжись со всеми разработчиками всех UDF которые ты используешь, и потребуй исправлений от них.
 
Верх