社区
VB基础类
帖子详情
关于VB使用VC所写的DLL问题
浩子
2003-09-26 01:30:18
现在手头有一个任务,有一些的东西需要用C语言来写方便一点,
我想把这些写成DLL函数库,然后用VB来调用,但我试了以后,
有一些的数据类型对应不起来,老是出现调用约定错误,真是郁闷,
哪位大哥可否提供一份相关的例解说明,尤其是数据类型的对应问题。
真诚感谢!
...全文
30
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
(Visual Basic)如何调用由
VC
(Visual C++)编写的
DLL
(动态链接库)来传递字符串。标题和描述指出,这个场景中存在一些特定的
问题
,尤其是涉及到字符串的传输。下面将详细解释这个过程以及可能...
VB
调用
VC
所写
的
DLL
动态库
本资源含有
VB
6.0源程序文件及
VC
6.0源程序文件。实现的是
VC
下所制作的
DLL
库给
VB
调用。非常简单的例子ADD(),省去理解细节,直奔主题,给你一个圆满的解密
VB
调用
VC
动态库
DLL
的答案。一个字爽。
vb
调用
vc
写的
dll
截获修改封包源代码
标题中的“
vb
调用
vc
写的
dll
截获修改封包源代码”涉及到的是计算机网络通信中的数据包捕获和修改技术,通常在网络安全分析、软件开发和调试等领域有广泛应用。这里
VB
(Visual Basic)被用来作为前端应用程序,调用了...
Variant输入出参数,ocx传递byte数组,safearray
使用
方法,
vc
写ocx在
vb
下调用
综上所述,理解 Variant 参数、OCX 中的字节数组传递和 SafeArray 的
使用
对于高效地在
VC
和
VB
之间进行组件通信至关重要。掌握这些技巧,开发者可以创建更强大的跨平台组件,提升软件的灵活性和可扩展性。
WinIO.
Dll
含
使用
更说明书和例子
VB
、
VC
由于Windows下不能直接操作硬件,这给我们带来了极大的不便,但WinIO.
Dll
的出现给我们操作硬件带来了极大的方便,该动态链接库能直接操作内存地址和端口地址,功能强大,
使用
简单,方便,是不可多得的好东西!
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章