| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| MFC Extension DLL и експортване на класове като на CDialog http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=6108 |
Страница 1 от 1 |
| Автор: | Nikola Kirov [ Пон Сеп 15, 2008 10:38 pm ] |
| Заглавие: | MFC Extension DLL и експортване на класове като на CDialog |
Редовно си правя dll-и с класове наследници на CDialog и други които ползват различни Resources които са в dll-a. Но гледам че по разни писания по нета се твърди че така можело да се получи конфликт на ID-тата от dll-a и ID-тата от програмата в която се използва съответния dll. Досега опита ми показва че няма проблеми и всичко си работи. Но ми е интересно дали все пак не представлява проблем това и как се избягва. Някой има ли дето е навътре с тия неща? |
|
| Автор: | Nikola Kirov [ Вто Сеп 30, 2008 5:13 pm ] |
| Заглавие: | |
Стигнах донякъде. Действително има проблем с ID-тата на DLL-a и тези на програмата. Досега просто не ми се е случвало. Направих ID-to на един диалог от dll-a да бъде същия като диалог от програмата и се получи конфликт. Някой няма ли идея как трябва да се направи експортването на такива класове коректно? |
|
| Автор: | ¶ [ Вто Сеп 30, 2008 6:37 pm ] |
| Заглавие: | |
Отдавна не съм пипал SDK-то, но според мен ако използваш SDK функциите на Windows, не би трябвало да се получи конфликт. Примерно, зареждаш динамичната библиотека с LoadLibrary(), тя ти връща handle на заредената библиотека, след това викаш FindResource() с получения handle от LoadLibrary(), името на ресурса и тип на ресурса. FindResource() ти връща handle на ресурса който си търсил, след това с LockResource() го заключваш и получаваш указател към първия байт на ресурса, оттук нататък имаш достъп до ресурса. Или навсякъде където имаш ресурси достъпа до тях става на чрез handle на модула в който се намира ресурса. Може би нещо се оплексва ако правиш статично връзване към ресурса по време на компилация, ако е динамично не би трябвало да се омажат манипулаторите на ресурсите ( въпреки че, знае ли се ? ) |
|
| Автор: | Nikola Kirov [ Вто Сеп 30, 2008 7:18 pm ] |
| Заглавие: | |
При тия extension dll идеята е уж да си експортваш свободно и MFC класове като ги ползваш директно. Но явно че има някаква особенност точно с това. Иначе както казваш няма проблем да стане. Но искам да си ползвам възможностите на extention dll-a. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|