Главная страница
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.025 c
14-1085576609
VictorT
2004-05-26 17:03
2004.06.13
Знатоки английского, помогите...


3-1084372623
Юрий
2004-05-12 18:37
2004.06.13
Связь приложения и базы данных


4-1083927183
denis24
2004-05-07 14:53
2004.06.13
External exception C000008


8-1081016008
Forelli
2004-04-03 22:13
2004.06.13
Как вызвать Windows кую настройку громкости


1-1085691234
Gestapo
2004-05-28 00:53
2004.06.13
Не могу скопировать рисунок из буфера обмена