![]() |
|
|
![]()
|
|
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Вот прищло время и мне задавать вопросы..
Использую dll с поддержкой МФС. 1 Как сделать так. что б она не требовала mfc71.dll на другом компе.(use static MFC в настройках dll не спасает..) 2. Как обойти проблему с CString в функции, которая находится в dll (кто не знает, напомню, проблемы в том. что при статической компиляции, Realese версии, пишется компилятором. что данная функция не найдена. Это из-за CString.) Пока обхожусь const char*, но меня не устраивает. 3. можно ли подключить в link опциях проекта более одной своей dll( pragma в коде не предлагать.. И еще, когда нужно делать в exe проекте настройку use static ATL? Я понимаю, что использовании ATL, но класс CString тоже ATL уже. Если его использую, нужно ли для заказчика делать static ATL? Это сообщение отредактировал(а) Coocky - 31.10.2005, 23:37 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
Или вернулось время 1. отвязаться от MFC либы у тебя врядли получиться (сам видел много больших комерческих проектов, которые эту самую mfc71.dll ставят сами, причем просто в каталог приложения, а не в system32 2. никогда не видел такой проблеммы, может просто вопрос в версиях компилятора (я имею в виду Enterprice etc) |
|||
|
||||
| nikf |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 6.6.2005 Где: город-герой Жирно вск Репутация: 1 Всего: 1 |
кстати когда создаешь длл не читал чего тебе визард пишет? а зря
Это сообщение отредактировал(а) nikf - 1.11.2005, 11:02 |
||||||||
|
|||||||||
| Coocky |
|
||||||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Тут разобрались.. Это крест! nikf Mad Как быть с ATL?
Сейчас попробую..
Да когда пошли запаря со стрингом, не до чтения, оказалось.. Пока спасибо всем, разберусь, отблагадарю.. Добавлено @ 11:30
Не работает, или не понял..... Вставил в начало функции, все равно ошибка вылетает, при компиляции.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||||||
|
|||||||||
| nikf |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 6.6.2005 Где: город-герой Жирно вск Репутация: 1 Всего: 1 |
это относится только к mfc extension. И отсутствие этой строки не должно влиять на компиляцию. Просто не будет глюков в рантайм. Вот функция в длл
в остальном работаешь с mfc extension dll как буд-то все твои длльные функции находятся в основном(exe) проекте. Не понятно почему у тебя возникают проблемы. Версии mfc должны быть одинаковы для dll и exe.. Это сообщение отредактировал(а) nikf - 1.11.2005, 12:37 |
||||||
|
|||||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Не будете кидать гнилыми помидорами? Я забыл включить в срр файл dll_ки описание заголовка dll Все работает (под свист толпы полетели камни и гнилые помидоры.. А как с ATL? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| nikf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 6.6.2005 Где: город-герой Жирно вск Репутация: 1 Всего: 1 |
Я не имею информации по тому как в твоем случае надо линковать ATL. Могу предположить, что как угодно т.к. никаких таких требований при создании mfc extension мне на эту тему не попадалось. И соответственно при статической линковке тащить библиотеки не потребуется. Вообще у тебя странный котейль получается. Обычно или MFC проект или ATL
офтоп Я как-то в целях експеримента добавлял в проект MFC поддержку .NET. заработало, но изврат это и избыточность кода т.к. многие возможности дублируются в этих библиотеках.тОже можно сказать и про MFC-ATL. |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Я переживаю за CString Это уже вроде ж ATL -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
всетаки это еще МФЦ, просто в АТЛ есть аналогичный класс |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Да,но когда ошибки с CString, ссылается -то на ATL? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
В 7 студии они это дело слили, даже каталог называется atlmfc, а CString - это синоним для ATLString или что-то вроде. Так что не волнуйся на эту тему, все должно срастись.
Предыдущие товарищи все правильно написали с одной поправкой: в Extension DLL как раз не надо писать AFX_MANAGE_STATE(AfxGetModuleState()) в каждой экспортируемой функции(потому что он там такой же, как в приложении). Т.е. ничего плохого не будет, просто не нужно. А надо это дело писать как раз в не-Extension DLL (и влияет это, в основном, на поиск ресурсов, ну еще переключает карты временных объектов и прочая). И еще, если нужно использовать несколько DLL, не используй макросы типа AFX_EXT_CLASS - лучше определи свои для каждой DLL. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |