|
Виж темите без отговор | Виж активните теми
Дата и час: Пет Авг 21, 2026 10:38 am
|
Страница 1 от 1
|
[ 4 мнения ] |
|
MFC Extension DLL и експортване на класове като на CDialog
| Автор |
Съобщение |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 MFC Extension DLL и експортване на класове като на CDialog
Редовно си правя dll-и с класове наследници на CDialog и други които ползват различни Resources които са в dll-a. Но гледам че по разни писания по нета се твърди че така можело да се получи конфликт на ID-тата от dll-a и ID-тата от програмата в която се използва съответния dll.
Досега опита ми показва че няма проблеми и всичко си работи. Но ми е интересно дали все пак не представлява проблем това и как се избягва.
Някой има ли дето е навътре с тия неща?
|
| Пон Сеп 15, 2008 10:38 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Стигнах донякъде.
Действително има проблем с ID-тата на DLL-a и тези на програмата. Досега просто не ми се е случвало. Направих ID-to на един диалог от dll-a да бъде същия като диалог от програмата и се получи конфликт.
Някой няма ли идея как трябва да се направи експортването на такива класове коректно?
|
| Вто Сеп 30, 2008 5:13 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Отдавна не съм пипал SDK-то, но според мен ако използваш SDK функциите на Windows, не би трябвало да се получи конфликт. Примерно, зареждаш динамичната библиотека с LoadLibrary(), тя ти връща handle на заредената библиотека, след това викаш FindResource() с получения handle от LoadLibrary(), името на ресурса и тип на ресурса. FindResource() ти връща handle на ресурса който си търсил, след това с LockResource() го заключваш и получаваш указател към първия байт на ресурса, оттук нататък имаш достъп до ресурса. Или навсякъде където имаш ресурси достъпа до тях става на чрез handle на модула в който се намира ресурса. Може би нещо се оплексва ако правиш статично връзване към ресурса по време на компилация, ако е динамично не би трябвало да се омажат манипулаторите на ресурсите ( въпреки че, знае ли се ? )
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Вто Сеп 30, 2008 6:37 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
При тия extension dll идеята е уж да си експортваш свободно и MFC класове като ги ползваш директно. Но явно че има някаква особенност точно с това.
Иначе както казваш няма проблем да стане. Но искам да си ползвам възможностите на extention dll-a.
|
| Вто Сеп 30, 2008 7:18 pm |
|
|
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|