Delphi 6. Вызов DLL, написанной на C++.
Добавлено: 21 апр 2004, 12:32
На предыдущем форуме данная тема затрагивалась. Но возник вопрос: при обращении к функции находящейся в DLL написанной на С++, которая не имеет параметров все работает, но если функция имеет параметр, то она его не принимает
-- в С++ -- (*.h)
#define SIMPLEDLL_API extern "C" __declspec(dllexport)
SIMPLEDLL_API int fnSimpleDLL(int a);
(*.cpp)
int fnSimpleDLL(int a)
{
Return a++;
}
-- в Delphi --
TFN = function(a:integer): Integer;
...
Inst := LoadLibrary('SimpleDLL.dll');
@fn := GetProcAddress(Inst, 'fnSimpleDLL');
b:=fn(1);
Получаем B=12345 или что-то около.
-- в С++ -- (*.h)
#define SIMPLEDLL_API extern "C" __declspec(dllexport)
SIMPLEDLL_API int fnSimpleDLL(int a);
(*.cpp)
int fnSimpleDLL(int a)
{
Return a++;
}
-- в Delphi --
TFN = function(a:integer): Integer;
...
Inst := LoadLibrary('SimpleDLL.dll');
@fn := GetProcAddress(Inst, 'fnSimpleDLL');
b:=fn(1);
Получаем B=12345 или что-то около.