Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Картинка на кнопке расширения
Пользователь: artgonch (IP-адрес скрыт)
Дата: 03, July, 2018 09:41

Здравствуйте.
Не могу понять, почему АРМ (версия 2017.1) не показывает мою картинку на кнопке.
Иконка размером 16x16 пикселей прилинковна к DLL. Это видно в окне программы ResourceBuilder.
А вот секция UserMode в серверном ини-файде:
[UserMode]
UMNUMB=1
; outguid.pft содержит одну строку: v12000
UMDLL0=LitResAccountDll2.dll
UMFUNCTION0=_RegisterLitResReader@12
UMPFT0=outguid
UMNAME0=Региcтарция читателя в ЛитРес
UMGROUP0=0
UMICON0=101

АРМ показывает кнопку "с кирпичом".
Подскажите, в чем ошибка?
Спасибо.

Вложения: 2018-07-03_10-41-02.png (45.6KB)  
Re: Картинка на кнопке расширения
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 03, July, 2018 12:28

artgonch написал(а):
-------------------------------------------------------

> Не могу понять, почему АРМ (версия 2017.1) не
> показывает мою картинку на кнопке.
> Иконка размером 16x16 пикселей прилинковна к DLL.
> Это видно в окне программы ResourceBuilder.

А вообще саму DLL он загружает? По нажатию на кнопку всё срабатывает?

А то возможен вариант, когда DLL просто не грузится вообще.

Re: Картинка на кнопке расширения
Пользователь: artgonch (IP-адрес скрыт)
Дата: 03, July, 2018 12:52

АРМ загружает расширение, и оно функционирует.

amironov73 написал(а):
-------------------------------------------------------
> artgonch написал(а):
> --------------------------------------------------
> -----
>
> > Не могу понять, почему АРМ (версия 2017.1) не
> > показывает мою картинку на кнопке.
> > Иконка размером 16x16 пикселей прилинковна к
> DLL.
> > Это видно в окне программы ResourceBuilder.
>
> А вообще саму DLL он загружает? По нажатию на
> кнопку всё срабатывает?
>
> А то возможен вариант, когда DLL просто не
> грузится вообще.

Re: Картинка на кнопке расширения
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 04, July, 2018 01:39

artgonch написал(а):
-------------------------------------------------------

> АРМ загружает расширение, и оно функционирует.

Тогда я просто расскажу, как это делаю я. Во-первых, у меня иконка 16x16 пикселей x 16 цветов, во-вторых, ей присвоено имя (т. наз. Icon Group), а уж это имя ссылается на ординал, см. снимок экрана:

http://irbis.gpntb.ru/file.php?24,file=17567

И я в [USERMODE] ссылаюсь не на номер иконки, а на её название:
[USERMODE]
UMNUMB=1
UMDLL0=Templater.dll
UMFUNCTION0=MakeTemplate
UMPFT0=templater.pft
UMICON0=PLUG
UMNAME0=Шаблонер
UMGROUP0=1
В результате иконка (пусть не очень красивая) таки отображается:

http://irbis.gpntb.ru/file.php?24,file=17568



Редактировано 1 раз. Последний раз 04.07.2018 01:44 пользователем amironov73.

Вложения: reshacker.png (5.9KB)   irbis.png (34.3KB)  
Re: Картинка на кнопке расширения
Пользователь: artgonch (IP-адрес скрыт)
Дата: 04, July, 2018 08:42

Спасибо. А в каком редакторе вы формируете ресурсы? Как прилинковываете их к DLL?

amironov73 написал(а):
-------------------------------------------------------
> artgonch написал(а):
> --------------------------------------------------
> -----
>
> > АРМ загружает расширение, и оно функционирует.
>
> Тогда я просто расскажу, как это делаю я.
> Во-первых, у меня иконка 16x16 пикселей x 16
> цветов, во-вторых, ей присвоено имя (т. наз. Icon
> Group), а уж это имя ссылается на ординал, см.
> снимок экрана:
>
> [irbis.gpntb.ru]
>
> И я в ссылаюсь не на номер иконки, а на её
> название:
>
>
> UMNUMB=1
> UMDLL0=Templater.dll
> UMFUNCTION0=MakeTemplate
> UMPFT0=templater.pft
> UMICON0=PLUG
> UMNAME0=Шаблонер
> UMGROUP0=1
>
> В результате иконка (пусть не очень красивая) таки
> отображается:
>
> [irbis.gpntb.ru]

Re: Картинка на кнопке расширения
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 04, July, 2018 10:03

artgonch написал(а):
-------------------------------------------------------

> Спасибо. А в каком редакторе вы формируете
> ресурсы? Как прилинковываете их к DLL?

В свойствах C# проекта есть возможность подключить файл ресурсов с расширением res (это двоичный файл ресурсов):
http://irbis.gpntb.ru/file.php?24,file=17571
Сам файл ресурсов я получаю из текстового файла ресурсов с расширением rc примерно такого содержания:
PLUG	ICON    "plug.ico"
(всего одна строчка :) )

res-файл получается следующей простой командой:
rc.exe resources.rc
Здесь rc.exe -- стандартный компилятор ресурсов из комплекта поставки Visual Studio. У меня он находится по пути C:\Program Files (x86)\Windows Kits\10\bin\x64\rc.exe.

Компилятор C# сам добавляет находящиеся в res-файле ресурсы в сборку, в т. ч. даёт имя иконке.

Но можно поступить проще: взять программу Resource Hacker и воспользоваться пунктом меню "Add a new resource":
http://irbis.gpntb.ru/file.php?24,file=17569
http://irbis.gpntb.ru/file.php?24,file=17572



Редактировано 2 раз. Последний раз 04.07.2018 10:07 пользователем amironov73.

Вложения: reshacker2.png (7.4KB)   resources.png (15.4KB)   reshacker4.png (8KB)  
Re: Картинка на кнопке расширения
Пользователь: artgonch (IP-адрес скрыт)
Дата: 04, July, 2018 12:47

У меня нативный C++. Все получилось. Спасибо.

amironov73 написал(а):
-------------------------------------------------------
> artgonch написал(а):
> --------------------------------------------------
> -----
>
> > Спасибо. А в каком редакторе вы формируете
> > ресурсы? Как прилинковываете их к DLL?
>
> В свойствах C# проекта есть возможность подключить
> файл ресурсов с расширением res (это двоичный файл
> ресурсов):
> [irbis.gpntb.ru]
> Сам файл ресурсов я получаю из текстового файла
> ресурсов с расширением rc примерно такого
> содержания:
>
> PLUG ICON "plug.ico"
>
> (всего одна строчка :) )
>
> res-файл получается следующей простой командой:
>
> rc.exe resources.rc
>
> Здесь rc.exe -- стандартный компилятор ресурсов из
> комплекта поставки Visual Studio. У меня он
> находится по пути C:\Program Files (x86)\Windows
> Kits\10\bin\x64\rc.exe.
>
> Компилятор C# сам добавляет находящиеся в
> res-файле ресурсы в сборку, в т. ч. даёт имя
> иконке.
>
> Но можно поступить проще: взять программу Resource
> Hacker и воспользоваться пунктом меню "Add a new
> resource":
> [irbis.gpntb.ru]
> [irbis.gpntb.ru]



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.