Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358
отправлено / posted
Проект в TM6.06.02. Внешняя функция из DLL, делал в Builder Borland® C++Builder Preview for Microsoft® Windows™ Version 10.0.2151.25345
При подключении функции из библиотеки РТМ падает на старте, еще до нажатия кнопки "Крсный человечек".
Текст функции:
extern "C" __declspec(dllexport) long __cdecl GetValue()
{ return (4); }
В проекте вкручена согласно хелпу и форуму.
Надо обязательно в MS VS делать, или где-от прин ципиальная ошибка?
_______________________________
Чего-то сделал, и РТМ падать перестал, хотя и от функции значение не возвращается... пытаюсь понять , чего натворил...
отправлено / posted
Относительно Borlanda рекомендую Вам открыть хэлп по ТМ6 в разделе: "Разработка драйверов. Интерфейс ТСОМ" -> "Драйверы t11 и t12" -> "Использование для разработки драйверов других компиляторов". Там как раз про Borland и его особенности компилятора рассказано. Вероятно у вас функция поэтому в DLL и не находится ТМом. Попробуйте явный номер ей задать.
IP / IP: IP адрес / IP address |
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358
отправлено / posted
Спасибо, прочитал.
Функциb расположены в алфавитном порядке в cpp.
Попробовал задать ordinal через DEF файл, а не через __declspec(dllexport) - не вышло чего-то, не понял, как заставить линкер использовать DEF. Не подскажете как?
3 атрибут канала, в который вкручена программа вызывающая функцию из DL стоит в off. Как только перестаешь функцию вызывать - то стоит в on, все нормально.
Сообщения / Posts 68 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
К сожалению по Borland'у ничем помочь больше не смогу - я в нем ни разу не работал. По мне так проще MS VC++ поставить, чем голову ломать, что и почему не работает.
IP / IP: IP адрес / IP address |
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358