This is topic DLL в Borland C++ Builder in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Проект в 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 делать, или где-от прин ципиальная ошибка?
_______________________________
Чего-то сделал, и РТМ падать перестал, хотя и от функции значение не возвращается... пытаюсь понять , чего натворил...
Вопрос по применимости Borland не снят.
Posted by Romсheg (Участник № / Member № 3792) on :
Относительно Borlanda рекомендую Вам открыть хэлп по ТМ6 в разделе: "Разработка драйверов. Интерфейс ТСОМ" -> "Драйверы t11 и t12" -> "Использование для разработки драйверов других компиляторов". Там как раз про Borland и его особенности компилятора рассказано. Вероятно у вас функция поэтому в DLL и не находится ТМом. Попробуйте явный номер ей задать.
Posted by Поляков Илья (Участник № / Member № 3358) on :
Спасибо, прочитал.
Функциb расположены в алфавитном порядке в cpp.
Попробовал задать ordinal через DEF файл, а не через __declspec(dllexport) - не вышло чего-то, не понял, как заставить линкер использовать DEF. Не подскажете как?
3 атрибут канала, в который вкручена программа вызывающая функцию из DL стоит в off. Как только перестаешь функцию вызывать - то стоит в on, все нормально.
Posted by Romсheg (Участник № / Member № 3792) on :
К сожалению по Borland'у ничем помочь больше не смогу - я в нем ни разу не работал. По мне так проще MS VC++ поставить, чем голову ломать, что и почему не работает.
Posted by Поляков Илья (Участник № / Member № 3358) on :