VC写的DLL,不仅vc可以引用,delphi\vb\...都可以引用啊
我想问题出在VC写的DLL的程序中
可能是引用的指针不正确,但是程序编译没有问题
我想问题出在VC写的DLL的程序中
可能是引用的指针不正确,但是程序编译没有问题
解决方案 »
- 一张24位BMP图片,读入一维数组后,如何把该图片反转180度呢?
- CFileDialog 保存操作,选择保存路径时'我的电脑'没有盘符显示
- 最近想用VC封装几个关于文件操作、网络方面相关操作的DLL,大伙给点建议?
- ~~~~~我写的控件我作主~~~~
- 如何判断用户同时按下了 <Alt>+<Ctrl>+<Shift> 键?
- 我在做图象处理的放大功能的时候,有没有人做过定时刷屏的?
- 请问:如何获取网卡的真实物理地址?
- 求助:对文件的复制和删除
- 那里有函数说明
- MFC显示bmp图片,并通过按钮放大、缩小、移动
- 用POP3 TOP命令收来的邮件主题为?gb2312?B?tKbA7bbgsPwucmFy? 怎样转换为汉字?最好给出算法谢谢!
- 怎么实现一个对话矿到另一个对话矿的数据传递?之没有人能搞定!!
一个是d:mytype要加Var,而是调用规范你应该指名为cdecl!因为VC缺省的是这种方式!!
Function mytype_init(var d:mytype):integer;cdecl; external 'D:\复件 testdll\test\Debug\test.dll' ;
Function mytype_set(var mytype;e:char;f:string):integer;cdecl; external 'D:\复件 testdll\test\Debug\test.dll'
在int WINAPI mytype_init(mytype *my)中参数my是一个指针;
而你的声明:
Function mytype_init(d:mytype):integer;stdcall; external 'D:\复件 testdll\test\Debug\test.dll' ;
与之相对应的参数d却是一个纪录,造成引用错误
可改为:
type
MYTYPE=RECORD
L:INTEGER;
C:char;
d:array[0..4]of char;
END;
PMyType= ^MyType;//声明指针类型;const
FirstDll= 'D:\Microsoft Visual Studio\MyProjects\FirstDll\Debug\FirstDll.Dll'; Function mytype_init(d:PMyType):integer;stdcall; external FirstDll;
Function mytype_set(d:PMyType;e:char;f:string):integer;stdcall; external FirstDll;
引用改为:
mytype_init(@dd);//改为传指针
mytype_set(@dd,'d','ddd');
const
FirstDll= 'D:\复件 testdll\test\Debug\test.dll';先哪个是我测试的~!~