Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Приложения на Delphi & DLL на Visual C++   Найти похожие ветки 

 
Гибон   (2004-05-29 14:20) [0]

Пыталься реализовать сабж, но ничего путного не вышло, отсюда возник вопрос: как правильно экспортировать функции из DLL (какие директивы указывать, или чего там еще может быть), написанной на Visual C++ и как их потом правильно импортировать в проекты, написанные на Delphi? И с какими еще нюансами я могу столкнуться? Заранее благодарен.


 
DrPass ©   (2004-05-29 14:32) [1]

C++ переименовывает функции для поддержки перегрузки. Поэтому их нужно объявлять как extern "C" в библиотеке либо импортировать в Delphi по индексу, а не по имени


 
Гибон   (2004-05-29 15:58) [2]

Экспортирую так:

extern "C" __declspec(dllexport) long MyAdd(long a, long b)
{
return(a+b);
}
,

импортирую так:

function MyAdd(A, B: Longint): Longint; external "dll_test.dll";.

В результате получаю не понятное постоянное число (5755669), не зависящее от параметров. Если к импорту добавляю stdcall, вроде на мгновение выскакивает правильный результат, а потом сразу "Access Violation". Что я сделал не так?


 
SammIk ©   (2004-05-29 16:01) [3]

А мне кажиттся что вазов в си и стдкалл разные вещи.
попробуи cdecl, могу и ошибаться.


 
Гибон   (2004-05-29 16:26) [4]


> SammIk ©   (29.05.04 16:01) [3]

Помогло, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1086084362
init13
2004-06-01 14:06
2004.06.13
TDrawGrid


1-1086207258
Lelik
2004-06-03 00:14
2004.06.13
Перескакивание строк


1-1085946374
Fly
2004-05-30 23:46
2004.06.13
Вопрос


9-1075936172
Кен
2004-02-05 02:09
2004.06.13
GLScene ODE Как двигать персонажа ?


14-1085475891
TUser
2004-05-25 13:04
2004.06.13
Мешают ли потоки ловить сообщения