|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать iglezz, подскажи пожалуйста, как поместить в собственное окно (CreateWindowEx) чекбоксы и кнопки ?
Про размещение текста инфа есть, про прочее - не нашёл... Вероятно нужен какой то спец стиль ? |
Отправлено: 11:55, 20-03-2023 | #2681 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать MKN, Все стандартные контролы создаются одинаково через CreateWindowEx/CreateWindow, только у простого текста будет ClassName STATIC, у кнопки - BUTTON и т.д.
|
Отправлено: 13:22, 20-03-2023 | #2682 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать iglezz, т.е. в собственном окне, созданным с помощью CreateWindowEx, можно создать ещё 10 чекбоксов и кнопок ?
Хмм... Никак не получается... |
Отправлено: 13:52, 20-03-2023 | #2683 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать MKN, для вновь создаваемых окон-детей (в терминологии WinAPI) нужно в функции CreateWindowEx указать дескриптор окна-родителя.
В качестве микро-дополнения к моему примеру на прошлой странице: ${NSD_CreateCheckBox} 40u 5u 40u 20u "111.1" Pop $hChildButton1 System::Call 'user32::SetParent(i$hChildButton1,i$hButtonOpt11)i.R0' Тоже самое можно сделать и через System::Call 'user32::CreateWindowEx... + SendMessage ... ${WM_SETFONT} Такие детки будут прятаться/показываться/перемещатся вместе с родителем. Сразу проблема - навешивание функций-обработчиков через ${NSD_OnClick} и т.п. не работает для таких деток. Так как события получает родитель, который должен иметь обработчик этих событий. Обработчик написать не проблема, а вот как в nsis получить дескриптор функции-обработчика (необходим для установки функции обработчиком) - хз Доступное костыльное решение (больше костылей богу костылей!) -- менять родителя туда-сюда (окно nsDialogs <--> своё окно) Минимальный пример не помешал бы для более конструктивного обсуждения и во избежание путаницы в терминах. А ещё лучше - короткий рассказ, зачем городить такую жесть на столь ограниченной платформе как nsis ![]() |
Последний раз редактировалось iglezz, 21-03-2023 в 11:04. Отправлено: 17:16, 20-03-2023 | #2684 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Подскажите, в чём проблема ? - не подключается !include "CommCtrl.nsh"
При компиляции ошибка : !include: "CommCtrl.nsh" (UTF8) Bad text encoding: CommCtrl.nsh:2 !include: error in script: "CommCtrl.nsh" on line 2 (на второй строке хедера всего лишь - !define COMMCTRL_INCLUDED ) Пробовал штук пять вариантов CommCtrl.nsh. Без результата. NSIS 3.8.0.0 WINDOWS 7 X64 C NSIS 3.0 всё нормально |
Последний раз редактировалось MKN, 23-03-2023 в 16:34. Отправлено: 16:19, 23-03-2023 | #2685 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Цитата MKN:
Архив с nsis.sourceforge.io/Header_file_for_Listview такой проблемы не имеет, CommCtrl.nsh там в кодировке ANSI/ACP (только пришлось самому дописать отсутствующий !define _COMMCTRL_NSH_VERBOSE 1) Этот тип ошибок лечится принудительным указанием кодировки: !include /charset=кодировка файл |
|
Отправлено: 16:57, 23-03-2023 | #2686 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата iglezz:
Куда его правильно конкретно дописать ? (или просто 3 заменить на 1...) |
|
Последний раз редактировалось MKN, 23-03-2023 в 17:27. Отправлено: 17:21, 23-03-2023 | #2687 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать MKN, После скачивания и распаковки попытка компиляции примерок ведёт к ошибке
Цитата:
Т.е. ошибка в том что _COMMCTRL_NSH_VERBOSE не задан. Сейчас уже вижу, что мой быстрый фикс с добавлением !define _COMMCTRL_NSH_VERBOSE 1 был слишком быстрый, а правильный способ - замена _COMMCTRL_NSH_VERBOSE на _COMMCTRL_VERBOSE. Это явно было последнее изменение перед запаковкой, т.к. даже отступ изменён с двух пробелов на табуляцию в строках с _COMMCTRL_NSH_VERBOSE После исправления примеры компилируются без ошибок. |
|
Отправлено: 17:39, 23-03-2023 | #2688 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать iglezz,
У меня __NSD_LV_InsertColumn_Call on macroline 2 на 1292 строке... Изменил в макросе на !verbose ${_COMMCTRL_VERBOSE}. Ошибка... Может скинешь мне свой рабочий CommCtrl.nsh ? И с какой версией NSIS проверяешь ? С 3.0 ведь работает безо всяких правок... А !verbose ${_COMMCTRL_NSH_VERBOSE} у мня в хедере 14 штук... Все изменять ? - Изменил - ошибка та же... Преобразовал хедер в UTF-8 - та же ошибка... |
Последний раз редактировалось MKN, 23-03-2023 в 18:01. Отправлено: 17:47, 23-03-2023 | #2689 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать MKN, использую страндартную 3.08
|
Отправлено: 18:16, 23-03-2023 | #2690 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|