![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Lekxys |
|
|||
|
Unregistered |
как обединять файлы в DLL после компиляции?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Хм, просто выбираешь тип приложения "DLL" при создании. А вручную сделать это можно, слинковав *.obj-файлы с соотв. ключами (потребуется еще и список экспортируемых ф-ций в DEF-файле)
-------------------- ![]() |
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Не понял какие ключи обоснуй на примере
|
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Мне это тоже как-то надо. Я просто изуаю C++ только месяц где-то и нифига не понимаю!
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Пжалста.
Если линкуешь tlink32.exe, то пишешь "/Tpe", если MS link.exe, то "/DLL". Глянь в меню VC "Project/Settings/Link" для полного списка ключей (внизу окна). Хотя, как я и говорил, правильно будет при создании проекта выбрать "Dynamic-Link library" (нафига компилить и линковать вручную, если VC делает все сам ?) -------------------- ![]() |
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
А если попонятние (не все такие "Мозговитые" как ты ведь)
Ты написал "Люди учите C++" А для этого надо 1.Книги 2.На книги деньги 3.На деньги работа 4.На работу хотя-бы 16 лет, а есле тебе 14 Проше ведь спросить у того кто знает! флейм |
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Чуть не забыл объясни еще как делать заклатки в диалоговых окнах на VC
P.s. НЕ в Builder'е P.s.s Тоже попонятнее |
|||
|
||||
| mr.DUDA |
|
||||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Насчет "как сделать DLL". Выбираешь в VC меню File/New.../Projects/MFC AppWizard(DLL), выбираешь имя и путь для проекта, давишь "Ok", "Finish", "Ok".
Открываешь закладку с файлами "Source files", видишь 4 файла, из них 2 - ".cpp", из них 1 "StdAfx.cpp", а второй --- то, что нам нужно. Итак, ты видишь бааааалшую мессагу как писАть экспортируемые функции, даж с примером. Вот и отлично. Копируй этот пример куда-нибудь вниз, раскомментируй все его строки - получишь функцию "ExportedFunction". Однако, т.к. нам не нужна возня с DEF-файлом, следующее что ты сделаешь - перепишешь эту функцию так:
Всё, можно компилить В результате компиляции в папке "Debug" будет лежать твоя DLL-ка, а вытянуть из нее функцию "ExportedFunction" можно так (сначала скопируй DLL-ку в папку SYSTEM или SYSTEM32 Винды, или же в ту папку, где лежит EXE'шка, юзающая твою DLL'ку):
Если ты хочешь передавать какие-то параметры в твою DLL-функцию и получать обратно значение, это делается так:
Насчет закладок --- места уже не хватит Делается либо с пом. CPropertySheet/CPropertyPage, либо CTabCtrl. Почитай книги по MFC или на http://www.firststeps.ru в разделе "VC++", а потом спрашивай, что непонятно, Ok ? Это сообщение отредактировал(а) mr.DUDA - 5.8.2003, 17:22 -------------------- ![]() |
||||||
|
|||||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Не, не то я создал прогу на базе диалогового окна MFC AppWizard(exe) и мне надо теперь файлы .pch .res .obj .ilk .idb .pdb объединить в DLL, а файл .exe запускал DLL
Если все нармально скажи какие файлы надо таскать на дискете, а то один exe сообщает что что-то там не найдено Посмотрел ссылку нету того что надо Мне как бы надо создать переключатели (их я делать умею), но мне нужен код каторый при переключении очистил ListBox типа Переключатель 1(Radio Button) Выводил список игр, а Переключатель 2 список Фильмов, переключив назад опять выдовал список игр |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
По-моему, так "запросто" сделать из OBJ-файлов, скомпилированных для EXE, библиотеку DLL нельзя.
Зато можно сделать проект MFC DLL (как я описал выше), потом взять из твоего существующего EXE-проекта все .h и .cpp файлы, кроме stdafx и ...app, вставить их в DLL проект, импортировать ресурсы из твоего EXE'шного resource.h, и наконец, сделать экспортируемую ф-цию, единственным содержанием и назначением которой будет вывод твоего диалогового окна:
Вместо CMyDlg будет класс твоего диалога из EXE. Само собой, что нужно включить в главный .cpp библиотеки заголовочный файл типа "MyDlg.h". Народ, если кто знает, как легче сделать то, что просит RetRon, напишите плз А насчет переключателей - это же обычные кнопки (класс является производным от CButton), только объединенные в одну группу. Вешаешь обработчик "OnClickRadioXXX" на каждый из переключателей, и в нем меняешь содержимое ListBox'а (как это делается, знаешь ?) -------------------- ![]() |
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Как создать оброботчик через ClassWizard я знаю, но незнаю какой код отвечает за обнавление ListBox'a и его востоновление
|
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
extern "C" int __declspec(dllexport) OtherFunc(int i)
{ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CPriseListApp dlg; - вставил CPriseListDlg 4 ошибки return dlg.DoModal(); } Проверь что не так VC говорит что 'DoModal' : is not a member of 'CPriseListApp' |
|||
|
||||
| RetRon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 5.8.2003 Репутация: нет Всего: нет |
Если че тавай я отошлю тебе что получилось, а ты исправишь
P.s если ты конечно не против, если против я поиму т.к. ты мне ничем и никак не обязан P.s.s народ не знаете где можно скачать фильмы без Edonkey? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Скинь мне на мыло всё что у тебя есть по этому проекту и пару слов, чего тебе не хватает
-------------------- ![]() |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Тема закрыта, ибо началась бодяга... нарушили много всего... читайте правила, блин... стоит токо ненадолго отлучиться, как балаган устраивают...
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |