社区
VB基础类
帖子详情
关于VB使用VC所写的DLL问题
浩子
2003-09-26 01:30:18
现在手头有一个任务,有一些的东西需要用C语言来写方便一点,
我想把这些写成DLL函数库,然后用VB来调用,但我试了以后,
有一些的数据类型对应不起来,老是出现调用约定错误,真是郁闷,
哪位大哥可否提供一份相关的例解说明,尤其是数据类型的对应问题。
真诚感谢!
...全文
26
13
打赏
收藏
关于VB使用VC所写的DLL问题
现在手头有一个任务,有一些的东西需要用C语言来写方便一点, 我想把这些写成DLL函数库,然后用VB来调用,但我试了以后, 有一些的数据类型对应不起来,老是出现调用约定错误,真是郁闷, 哪位大哥可否提供一份相关的例解说明,尤其是数据类型的对应问题。 真诚感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
浩子
2003-09-27
打赏
举报
回复
谢谢闲人兄,这个问题已经解决^0^,下次再来讨教~~~!
hbx19720513
2003-09-26
打赏
举报
回复
使用VC的VARIANT类型
jlum99
2003-09-26
打赏
举报
回复
调用的时候自然是另一种了,VB没有指针,当调用时传入byte数组的首地址就可以了
浩子
2003-09-26
打赏
举报
回复
这个函数我是用来进行校验的,实际上就是CRC16位校验算法,每一个参数在VB中我是希望传入一个要校验的字符数组,如果写成long型,那就进行不了了。。。
下面是CRC16的原代码,如果我要校验,在VB中应该如何写呢?
请多帮忙,小弟很急:P
#include "stdafx.h"
#include "stdio.h"
unsigned int CRC16(unsigned char *ptr,unsigned char len)
{
unsigned int crc=0;
unsigned char ch;
unsigned int tmp;
int i;
while(len--)
{
ch=*ptr++;
for (i=0;i<8;i++,ch<<=1)
{
tmp=crc&0x8000;
crc<<=1;
if (ch&0x80) crc++;
if (tmp) crc^=0x1021;
}
}
return(crc);
}
main()
{
unsigned short c1,c2;
unsigned char data[65]={0x11,0x11,0x21,0x21};
data[4]=0x00;
data[5]=0x00;
c1=CRC16(data,6);
data[4]=c1>>8;
data[5]=c1;
printf("\n%x,%x\n",data[4],data[5]);
c2=CRC16(data,6);
printf("\n%x,%x",c1,c2);
}
aha99
2003-09-26
打赏
举报
回复
up...
好像这样的问题,用过api的都遇到过。好像没有什么好办法,只能是按照楼上说的,好好检查一下是不是调用的有问题。实在不行的就用指针传递一些 struct ,就是更麻烦一些。
jlum99
2003-09-26
打赏
举报
回复
第一个是个型参 指针 ,指针就是32位的地址,用long ,后一个是个ascii字符,ascii字符就是8位啊,用byte就好.这下明白了吧?
jlum99
2003-09-26
打赏
举报
回复
我的意思是,不用管太多的,只要数据长度相等就可以了.数据在内存中是顺序排列的
浩子
2003-09-26
打赏
举报
回复
我现在手头的这个函数是这样的,这几个类型又如何对应呢?
unsigned int CRC16(unsigned char *ptr,unsigned char len)
谢谢!
陈杰Damon
2003-09-26
打赏
举报
回复
VB的Long对应C的int(long)
String对应BSTR
Boolean对应VARIANT_BOOL
通常用这几种就已经够了。
浩子
2003-09-26
打赏
举报
回复
谢谢闲人,但这样说了后我还是一头雾水,能不能提供点更详细的说明?
射天狼
2003-09-26
打赏
举报
回复
UP~~
说明白一些!!
jlum99
2003-09-26
打赏
举报
回复
VB 里的long型长度是32 integer 是16 ,byte 是 8位 .只要是长度一样对应就可以了.与VC里的变量长度对应就可,主要是因为VB里的变量类型是强制变换.
jlum99
2003-09-26
打赏
举报
回复
以前的帖子很多的,关于这方面的,最好使用VB用起来最自然最舒服的long型变量
VC
写的
DLL
给
VB
用,传送字符串
VB
和
VC
写的
DLL
之间传达室送字符串。调试通过的源代码。网上的代码和文档都是用整型add(a,b)做例子。自己试试就知道传送string还会有那么多
问题
。耗了我不少时间!希望能节省你的时间!
VB
调用
VC
写的
DLL
VB
调用
VC
写的动态链接库
DLL
VB
调用
VC
所写
的
DLL
动态库
本资源含有
VB
6.0源程序文件及
VC
6.0源程序文件。实现的是
VC
下所制作的
DLL
库给
VB
调用。非常简单的例子ADD(),省去理解细节,直奔主题,给你一个圆满的解密
VB
调用
VC
动态库
DLL
的答案。一个字爽。
vb
调用
vc
写的
dll
截获修改封包源代码
参照防火墙源代码,自己写的
vb
调用
vc
写的
dll
截获和修改封包,用于xp,2000系统。包括
vb
源代码,
vc
dll
源代码绝对超值。有兴趣讨论封包的同志们可以加我。qq:23131683
WinIO.
Dll
含
使用
更说明书和例子
VB
、
VC
WinIO.
Dll
例子 由于Windows下不能直接操作硬件,这给我们带来了极大的不便,但WinIO.
Dll
的出现给我们操作硬件带来了极大的方便,该动态链接库能直接操作内存地址和端口地址,功能强大,
使用
简单,方便,是不可多得的好东西!
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章