Достать картинку из другой dll
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
C10. Мульти-dll проект. В одной dll лежат картинки (прилинкованы). Могу ими воспользоваться из другой dll?
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Достать картинку из другой dll
Тут надо рыть загрузку ресурсов DLL через WinAPI ....
1. Пример для DELPHI: http://pro.dtn.ru/delphi-net/dll-4.html
2. Где-то на CLARIONLIFE был пример загрузки TTF шрифтов из DLL - в принципе, то же самое ...
1. Пример для DELPHI: http://pro.dtn.ru/delphi-net/dll-4.html
2. Где-то на CLARIONLIFE был пример загрузки TTF шрифтов из DLL - в принципе, то же самое ...
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
Я думал что-то полегче, типа через тильду. DLL-ка то моя.
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Достать картинку из другой dll
А так это всё упрощает ....

1. Добавляем в DLL метод GetMyDLLPicture(PictureName),NameFilePicture
Добавляем к PictureName тильду и вызываем вложенную в DLL картинку в IMAGE, оттуда сохраняем в файл TMP папки.
Возвращаем имя файла в TMP папке.
2. В программе ?Image{Prop:Text} = GetMyDLLPicture('COROVA.JPG')
3. Всё ....

Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
Похоже, кушает банально "?Image{Prop:Text} ='~COROVA.JPG'", даже если 'COROVA.JPG' в другой dll. Сработало, но мозг не принимает такой простоты.
We are hard at work… for you. 

- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Достать картинку из другой dll
"Похоже" в данном случае картинка просто с диска грузится. Чуда не будет

Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
Знаю про эту фичу (если нет прилинкованной, то берётся с диска). Явно удалил картинку с диска после линковки. Всё работает. Подозреваю, нужно ещё потестить. Коллега выйдет через полторы недели из отпуска (его dll), потестим повнимательней.Admin писал(а): 23 Август 2017, 2:01 "Похоже" в данном случае картинка просто с диска грузится. Чуда не будет![]()
We are hard at work… for you. 

- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Достать картинку из другой dll
Памяти не верю. Cделал тестовый пример. Не работало.
Ждем ваш пример

Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Достать картинку из другой dll
Проверил. И у меня не работает.
Да по сути и не может работать - в каждом модуле (DLL / EXE) свои ресурсы ...
Ведь можно залинковать 2 разные картинки под одним именем в разные DLL и что тогда покажет вызов с тильдой из EXE ?!
Проверьте, точно нет картинки в ресурсах EXE ? Она могла неявно прилинковаться в исполняемый файл ....
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
Придётся сделать тестовое приложение. У себя ещё раз проверил - работает даже после перезагрузки компа. Неявно прилинковаться? Не понятно пока как это возможно. В .cwproj этой dll-ки картинки нет.
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Достать картинку из другой dll
Вы же программер !

Самый простой способ долезть туда - например в FAR нажать CTRL+PgDn на файле ....
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Достать картинку из другой dll
Наверно, я не прав. На тесте разобрался. Есть две процедуры. Находятся в разных dll (Первая процедура в первой dll, вторая соответственно во второй). Обе работают с одной и той же картинкой. Картинка прилинкована, допустим, ко второй dll. Первая процедура вызывает вторую процедуру и после этого первая процедура видит нужную картинку. Всё это работает только в одном треде. Конечно, такой режим работы не устраивает.
We are hard at work… for you. 

- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5234
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 64 раза
Достать картинку из другой dll
Если не ошибаюсь, Мялин когда-то пример выкладывал, как делать ресурсную dll с пиктограммами. Мне тогда по определенным причинам не подошло, а сейчас искать в архивах лениво...
C6/C12, ШВС, tps/btrieve.
- Дед Пахом
- Старичок
- Сообщения: 3288
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Достать картинку из другой dll
И я помню такое. Нужен Resource compiler, чтобы прилинковать dll как ресурс. Но это не тот случай, по-видимому.finsoftrz писал(а): 23 Август 2017, 16:37Если не ошибаюсь, Мялин когда-то пример выкладывал, как делать ресурсную dll с пиктограммами
С уважением, ДП