[Вопрос]Проблема при соединение скриптов (#include)
|
|
trenisk |
Дата: Суббота, 10.03.2018, 17:28 | Сообщение # 1
|
Любитель
Сообщений: 42
Статус: Offline
|
Привет. У меня есть 2 скрипта АКХ, 1 - диалог в сампе, 2 - диалоговое окно с настроками(по типу универсального биндера как от Кваса, но на 8 функций). Оба скрипты по отдельности рабочие, но я хочу скомпилировать в ЕХЕ, и чтобы все было в 1 файл, и я пишу в 1 скрипт - #include smartBinder.ahk (смартбинд это 2 скрипт) Вот решил запустить пока нескомпилированый АХК с инклудом в другой, и я вижу что 1 скрипт диалога в сампе работает, все отлично запускается и функционирует как надо, а вот во втором скрипте ГУИ работает, но настройки клавиш в нем не сохраняются. Даже те клавишы, которые я настроил в ГУИ *смартбиндера* не работают. Но если запускать скрипты по отдельности, то все отлично работает! Помогите пожалуйста!
|
|
|
|
Rinat_Namazov |
Дата: Суббота, 10.03.2018, 19:09 | Сообщение # 2
|
Боец
Сообщений: 122
Статус: Offline
|
Цитата trenisk ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) #include При компиляции, компилятор вщивает код из внешнего файла в твой, обычно это функции. Это совсем не соединение скриптов. Если хочешь многопоточность, то нужно подгружать AutoHotKey.dll и ей на вход кидать код.
Не работает так код одного скрипта перекрывает логику другого, нужно именно сразу писать код с функционалом обоих скриптов.
|
|
|
|
Kaktus007 |
Дата: Понедельник, 12.03.2018, 02:18 | Сообщение # 3
|
Боец
Сообщений: 70
Статус: Offline
|
Цитата Rinat_Namazov ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Не работает так код одного скрипта перекрывает логику другого, Да не, должен работать (конечно, если нет конфликтов, все return’ы на местах). То есть не то что «должен», а так всегда и создают крупные проекты. Один main-скрипт, в котором содержится лишь куча инклудов.
Но на вопрос, не видя кода, трудно так ответить. Создай два скрипта с простейшим функционалом, тестируй. Добавляй постепенно функции, ищи в чём проблема.
Сообщение отредактировал Kaktus007 - Понедельник, 12.03.2018, 02:20 |
|
|
|
Rinat_Namazov |
Дата: Понедельник, 12.03.2018, 15:41 | Сообщение # 4
|
Боец
Сообщений: 122
Статус: Offline
|
Цитата Kaktus007 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Да не, должен работать (конечно, если нет конфликтов, все return’ы на местах). Я как раз о return'ах.
Цитата Kaktus007 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) а так всегда и создают крупные проекты. Один main-скрипт, в котором содержится лишь куча инклудов. В ахк это не особо помогает, нужно лишь чтобы подключать библиотеки, так как им пофиг на return'ы и т.п. В том же C++ несколько файлов это важно, ведь если будет огромный проект, компиляция займет дофига времени, даже если ты изменишь один символ, а так компилятор компилирует все файлы в .obj, а после соединяет их в один файл, то есть при изменении одного файла, не нужно компилировать остальные.
|
|
|
|
Kaktus007 |
Дата: Понедельник, 12.03.2018, 23:55 | Сообщение # 5
|
Боец
Сообщений: 70
Статус: Offline
|
Цитата В ахк это не особо помогает, нужно лишь чтобы подключать библиотеки Вот как пример. Если всё это слить в один скрипт, то сойдёшь с ума. Тем более, что существовали четыре вида сборки скрипта, которые отличались разным набором функций. Так просто в основном скрипте закомментишь инклуд, и норм. Плюс можно таскать и легко подключать файлы к другим проектам.
Так что инклуды очень часто используются именно для разбиения большого скрипта на составляющие.
|
|
|
|