|
|
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
_БалтикаДолжна быть все таки какая-то утилита типа dumpbin.exe и в Борланде. Если нет, то можно поэксперементировать с LoadLibrary и GetProcAddress что бы докопаться до имени ф-ции. Через GetProcAddress я ее достаю :) А хочется неявно.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:15 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
дед МакарА хочется неявно....забей, раз хедер неподходит :) ну можно еще повертеть опции компилятора ... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:16 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
Мона все-таки обяву ф-ции в студию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:18 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
_БалтикаМона все-таки обяву ф-ции в студию? BASS_Init - это то что я называл myFunc :) #define BASSDEF(f) (WINAPI *f) // define the functions as pointers #ifdef WIN32 BOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, HWND win, const GUID *dsguid); #else BOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, void *win, void *dsguid); #endif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:30 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
Что нам скажут твои BASSDEF ??? приведи описание Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:32 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасЧто нам скажут твои BASSDEF ??? приведи описание Posted via ActualForum NNTP Server 1.3 ну как же, я же написал выше: #define BASSDEF(f) (WINAPI *f) // define the functions as pointers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:34 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
дед Макар#define BASSDEF(f) (WINAPI *f) // define the functions as pointersтьфу :)) куда я смотрел ?:)) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:35 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
В общем ситуация такая. Еслия делаю явно то у меня все работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Как мне это все провернуть неявно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 13:42 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
То есть так значит: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:07 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
_БалтикаТо есть так значит: Код: plaintext 1. опять? :) Я ж писал выше в тексте #define BASSDEF(f) (WINAPI *f) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:21 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
дед Макар опять? :) Я ж писал выше в тексте #define BASSDEF(f) (WINAPI *f) Я имел ввиду при импорте __declspec(dllimport) BOOL WINAPI ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:36 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
_Балтика дед Макар опять? :) Я ж писал выше в тексте #define BASSDEF(f) (WINAPI *f) Я имел ввиду при импорте __declspec(dllimport) BOOL WINAPI ... А... когда неявно пытаюсь? Конечно же есть. и получаю unresolved... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:40 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
Если хедер не подходит, обратись к разработчикам Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:43 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
если я загружаю ее явно - то он очень даже подходит.... Или есть какие-то нюансы при создании dll для подключения ее явно/неявно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:48 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
Это 100% говорит о том, что компилятор подставляет в имена функций свои служебные символы. Покрути настройки компилятора Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 14:49 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
сделай вот так: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 19:46 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
White Owlсделай вот так: Код: plaintext 1. 2. 3. 4. 5. 6. Unresolved external..... Может я че не так делаю изначально? Может кто нибудь объяснить по шагам этапы неявного подключения сторонней библиотеки(начиная с "запустить билдер" и заканчивая "нажать F9") ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2006, 19:39 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
1) возьми любую утилиту показывающую имена экспортируемых функций. Например depends.exe из состава VC или соотвествующий плагин к Фару. Посмотри как выглядят имена экспортируемых функций. Или даже impdef который есть и в BC, но с ним сложнее, надо уметь читать def файлы тогда :) 2) Если имена выглядит как "SomeFunction" то используй implib /a my.lib my.dll Если "_SomeFunction", то implib my.lib my.dll 3) В заголовочном файле должно быть описание функции такого вида: int SomeFunction(int x, int y, char *s); этого хватает! При большом желании можно добавлять всяческие extern или __declspec(dllimport), но на самом деле они для BC не нужны. 4) В списке линковки указываешь my.lib как обычную библиотеку и все. 5) Если пишешь на С++, то не забудь имена импортируемых функций в заголовке указать как С. Для этого, либо каждую функцию помечаешь как extern "C" (синтаксис тебе уже показывали), либо все функции разом: Код: plaintext 1. 2. 3. 4. Никаких def файлов тебе не нужно, никаких declspec(dllimport) тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2006, 19:44 |
|
||
|
Вызов функции из DLL
|
|||
|---|---|---|---|
|
#18+
А можно привести алгоритм для VC++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2006, 13:47 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33551847&tid=2031891]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 524ms |

| 0 / 0 |
