Достать картинку из другой dll
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
C10. Мульти-dll проект. В одной dll лежат картинки (прилинкованы). Могу ими воспользоваться из другой dll?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7323
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Достать картинку из другой 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 - в принципе, то же самое ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
Я думал что-то полегче, типа через тильду. DLL-ка то моя.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7323
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Достать картинку из другой dll
А так это всё упрощает ....
1. Добавляем в DLL метод GetMyDLLPicture(PictureName),NameFilePicture
Добавляем к PictureName тильду и вызываем вложенную в DLL картинку в IMAGE, оттуда сохраняем в файл TMP папки.
Возвращаем имя файла в TMP папке.
2. В программе ?Image{Prop:Text} = GetMyDLLPicture('COROVA.JPG')
3. Всё ....
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
Похоже, кушает банально "?Image{Prop:Text} ='~COROVA.JPG'", даже если 'COROVA.JPG' в другой dll. Сработало, но мозг не принимает такой простоты.
We are hard at work… for you.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Достать картинку из другой dll
"Похоже" в данном случае картинка просто с диска грузится. Чуда не будет
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
Знаю про эту фичу (если нет прилинкованной, то берётся с диска). Явно удалил картинку с диска после линковки. Всё работает. Подозреваю, нужно ещё потестить. Коллега выйдет через полторы недели из отпуска (его dll), потестим повнимательней.
We are hard at work… for you.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Достать картинку из другой dll
Памяти не верю. Cделал тестовый пример. Не работало.
Ждем ваш пример
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7323
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Достать картинку из другой dll
Проверил. И у меня не работает.
Да по сути и не может работать - в каждом модуле (DLL / EXE) свои ресурсы ...
Ведь можно залинковать 2 разные картинки под одним именем в разные DLL и что тогда покажет вызов с тильдой из EXE ?!
Проверьте, точно нет картинки в ресурсах EXE ? Она могла неявно прилинковаться в исполняемый файл ....
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
Придётся сделать тестовое приложение. У себя ещё раз проверил - работает даже после перезагрузки компа. Неявно прилинковаться? Не понятно пока как это возможно. В .cwproj этой dll-ки картинки нет.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7323
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Достать картинку из другой dll
Вы же программер ! Внутри EXE / DLL файла, в разделе RSRC/IMAGE - все картинки ...
Самый простой способ долезть туда - например в FAR нажать CTRL+PgDn на файле ....
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Достать картинку из другой dll
Наверно, я не прав. На тесте разобрался. Есть две процедуры. Находятся в разных dll (Первая процедура в первой dll, вторая соответственно во второй). Обе работают с одной и той же картинкой. Картинка прилинкована, допустим, ко второй dll. Первая процедура вызывает вторую процедуру и после этого первая процедура видит нужную картинку. Всё это работает только в одном треде. Конечно, такой режим работы не устраивает.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4553
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Достать картинку из другой dll
Если не ошибаюсь, Мялин когда-то пример выкладывал, как делать ресурсную dll с пиктограммами. Мне тогда по определенным причинам не подошло, а сейчас искать в архивах лениво...
C6/C11, ШВС, tps/btrieve.
- Дед Пахом
- Старичок
- Сообщения: 3131
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Достать картинку из другой dll
И я помню такое. Нужен Resource compiler, чтобы прилинковать dll как ресурс. Но это не тот случай, по-видимому.
С уважением, ДП