Отговори на тема  [ 4 мнения ] 
MFC Extension DLL и експортване на класове като на CDialog 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 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
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
При тия extension dll идеята е уж да си експортваш свободно и MFC класове като ги ползваш директно. Но явно че има някаква особенност точно с това.
Иначе както казваш няма проблем да стане. Но искам да си ползвам възможностите на extention dll-a.


Вто Сеп 30, 2008 7:18 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 4 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни