Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-1086182669
Dysan
2004-06-02 17:24
2004.06.13
универсальная система отчетов


4-1084196011
FireMan_Alexey
2004-05-10 17:33
2004.06.13
Вопрос по реестру!


14-1085576609
VictorT
2004-05-26 17:03
2004.06.13
Знатоки английского, помогите...


1-1085927377
Schummi
2004-05-30 18:29
2004.06.13
ERROR_INVALID_HANDLE


9-1075784484
VolanD2002
2004-02-03 08:01
2004.06.13
*.mdl в Delphi




   Наверх