![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Fanat |
![]()
Сообщение
#21
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
FormTestDLL.H: typedef IMyCls * (__declspec(dllimport) FCreate(int Size)); Это обьявление указателя на FCreate. А FCreate это ??? Ну а FCreate это вроде функтор. Сообщение отредактировано: Fanat - 21.10.2007 22:49 |
volvo |
![]()
Сообщение
#22
|
Гость ![]() |
Если честно - я не понял, что тебя смущает вообще... У тебя же в DLL создается экземпляр класса-наследника (т.е., MyCls). То, что указатель на него приводится к указателю на предка (то есть, к IMyCls *) - это тебя смущает?
|
Fanat |
![]()
Сообщение
#23
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Если честно - я не понял, что тебя смущает вообще... У тебя же в DLL создается экземпляр класса-наследника (т.е., MyCls). То, что указатель на него приводится к указателю на предка (то есть, к IMyCls *) - это тебя смущает? Это не смущает. Смущало то что файл MyCls.cpp нигде не подключался...а он собственно и в обычных программах нигде не поключаеться... Теперь всё понятно...ещё раз спасибо... Сообщение отредактировано: Fanat - 21.10.2007 23:03 |
volvo |
![]()
Сообщение
#24
|
Гость ![]() |
Как это "не подключается?"
А в DBTEST.BPR что такое: Цитата <VERSION value="BCB.05.03"/> <PROJECT value=""F:\PROJECTS\Cut Expert\DBTEST2\bin\dbtest.dll""/> <OBJFILES value="obj\dbm.obj obj\mycls.obj"/> в нижней строке? ![]() |
Fanat |
![]()
Сообщение
#25
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
То есть таким образом он подключаеться. Буду знать.
|
Fanat |
![]()
Сообщение
#26
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Вот прочитал help на который ты давал ссылку...
откуда взяться файлу .def?..самому создать?.. И как узнать как назвал компилятор мою функцию?.. |
volvo |
![]()
Сообщение
#27
|
Гость ![]() |
Цитата откуда взяться файлу .def? Сбрось свою DLL-ку в каталог \BIN в папке Builder-а, и запустиЦитата(Console) E:\Program Files\Borland\BDS\4.0\Bin>impdef project.def project3.dll (ну, со своим именем DLL естественно)В результате в той же папке появляется файл project.def, который содержит, например, такое: LIBRARY PROJECT3.DLL |
Fanat |
![]()
Сообщение
#28
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Это через DOS в смысле?
Он ругаеться на то что Program Files отдельно написано... |
volvo |
![]()
Сообщение
#29
|
Гость ![]() |
Это через Start -> Run -> CMD ...
то, что до знака ">" - это системное приглашение, тебе надо войти в папку \BIN... А там уже напечатать то, что выделено красным... |
Fanat |
![]()
Сообщение
#30
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Это через Start -> Run -> CMD ... то, что до знака ">" - это системное приглашение, тебе надо войти в папку \BIN... А там уже напечатать то, что выделено красным... Так я так и делал...только он мне не даёт переместиться в папку Program Files...потому что написание раздельное... |
volvo |
![]()
Сообщение
#31
|
Гость ![]() |
Возьми в кавычки... То есть,
CD "диск_на_котором_у_тебя_билдер:\Program Files\Borland\ну_и_дальше_путь_к_папке" должно дать то же результат... |
Fanat |
![]()
Сообщение
#32
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Получил. Так теперь можно задать имя функции своё?
Код LIBRARY TWOFUNCPROJECT.DLL EXPORTS @Create$qv @1 ; Create() Переместить этот файл в папку где находиться проект dll и потом заново build?.. |
volvo |
![]()
Сообщение
#33
|
Гость ![]() |
Цитата Так теперь можно задать имя функции своё? Никак... Тебе это не нужно. Все что тебе может понадобиться - взять отсюда имя, и использовать его в программе, если тебе нужно сделать GetProcAddress... |
Fanat |
![]()
Сообщение
#34
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Понянто...спасибо...
|
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 16:05 |