您的位置:程序门 -> vb -> 基础类



dll调用问题,在线等


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


dll调用问题,在线等[已结贴,结贴人:wing013]
发表于:2007-03-06 10:32:38 楼主
我用vb一个vc6.0写的dll,调用其中的函数时,返回正确执行的信息,却不是所要的结果,比如:想的结果为:12235,可是返回来的却是一些很奇怪的东东
发表于:2007-03-06 10:37:131楼 得分:20
楼主的问题没头没尾的,   按这样问的话,   只能得到一个答案:   你的代码有问题。
发表于:2007-03-06 10:48:072楼 得分:0
我有一个vc6.0写的名为ymdll的dll,在其内有一个 int   getrecord   (byte   cport,   dword   dwbaudrate,   byte   cmachineno)下载打卡记录的函数,
在vb中,我作了如下声明:declare       function   getrecord             lib       "ymdll.dll "(byval       cport       as       byte,       byval       dwbaudrate         as       long,       byval     cmachineno     as       byte,byval   wrecordcount   as   long   )       as     integer
现在一个调用
i=getrecord(1,9600,1,)
返回的i=0
可是在其下载的数据文件中的数据又不正确
发表于:2007-03-06 11:01:183楼 得分:0
i=0表示执行正确
发表于:2007-03-06 11:07:074楼 得分:0
1.   vc中的int是32位的整,   对应vb中的long,   而不是integer
2.   byval   wrecordcount   as   long这个在vc的函数原型中未见到,   估计是楼主笔误
3.   vc中的函数声明,   需要加上__stdcall
发表于:2007-03-06 11:24:515楼 得分:0
多谢jadeluo
我按照你的提示改了,可是结果还是不正确
发表于:2007-03-06 11:27:056楼 得分:0
能把vc函数的完整函数头贴出来吗?
发表于:2007-03-06 11:41:147楼 得分:0
我都没有dll的源码,他们已经封装好了.我看看供应商能不能提供这个源码给我
发表于:2007-03-06 11:47:388楼 得分:0
只要函数头就行了,   也就是供应商给你的文档中的那些。
发表于:2007-03-06 11:55:189楼 得分:0
int   getallrecord   (byte   cport,   dword   dwbaudrate,   byte   cmachineno)
没有呀,就只有这些东西了,就只给了我函数文档
发表于:2007-03-06 12:01:0710楼 得分:0
这个函数会产生什么结果?   从函数参数与返回值来看,   allrecord被get到了哪里去了,   看不出来。
发表于:2007-03-06 12:06:3011楼 得分:0
它会去一个硬件里下载一些数据,并存放到一个txt文件中
所有的都正确执行了,就是放进txt文件中的数据不正确
发表于:2007-03-06 12:16:2512楼 得分:0
"数据不正确 "
1.   有数据获取得到了?
2.   得到的数据不正确,   是指数据格式不正确,   还是数据值不正确?
发表于:2007-03-07 11:02:0113楼 得分:0
问题我已解决,是供应商提供的二次开发的函数有错
thanks   jadeluo


快速检索

最新资讯
热门点击