*新手简单有关问题delphi使用vc的dll报错*
*****************新手简单问题delphi使用vc的dll报错**************************
1 主cpp和.h都是为编写一个dll作的,原来我未添加另外2个函数实现的时候dll是正常可以被使用的。
2 cpp的内容都是函数,大部分是以类似short __declspec(dllexport) __stdcall修饰声明的,最后出现在classview里面的gloab文件夹下面
3 .h的内容是对应cpp中提供给外部使用的函数的声明。
4 我当时添加自己函数的时候,是首先在cpp中写的实现,然后在.h中写了声明,声明和实现都是参照原先正确的来作的。
可是给delphi写的程序调用的时候说我后面加的两个函数无法定位输入点,不知道有人知道原因么
------解决方案--------------------
.h文件:
extern "C " _declspec(dllexport)
short __stdcall FunName(int Param);
.cpp文件:
short __stdcall FunName(int Param)
{
// 函数实现
// ...
}
在Delphi单元中声明一下:
function FunName(Param: integer): Shortint; stdcall; External 'YourDLL.dll ';
然后就可以使用了。
------解决方案--------------------
是不是你的工程里面的def文件没有对两个函数进行声明啊?
1 主cpp和.h都是为编写一个dll作的,原来我未添加另外2个函数实现的时候dll是正常可以被使用的。
2 cpp的内容都是函数,大部分是以类似short __declspec(dllexport) __stdcall修饰声明的,最后出现在classview里面的gloab文件夹下面
3 .h的内容是对应cpp中提供给外部使用的函数的声明。
4 我当时添加自己函数的时候,是首先在cpp中写的实现,然后在.h中写了声明,声明和实现都是参照原先正确的来作的。
可是给delphi写的程序调用的时候说我后面加的两个函数无法定位输入点,不知道有人知道原因么
------解决方案--------------------
.h文件:
extern "C " _declspec(dllexport)
short __stdcall FunName(int Param);
.cpp文件:
short __stdcall FunName(int Param)
{
// 函数实现
// ...
}
在Delphi单元中声明一下:
function FunName(Param: integer): Shortint; stdcall; External 'YourDLL.dll ';
然后就可以使用了。
------解决方案--------------------
是不是你的工程里面的def文件没有对两个函数进行声明啊?