Visual_Basic 板


LINE

※ 引述《fumizuki (蒙面加菲狮)》之铭言: : ※ 引述《macgyfu (YFU)》之铭言: : : Hi : : 小弟最近尝试要用VB呼叫dll来用,基本上那些dll我都用VC++使用过 : : ,但是用VB呼叫了几个发现了一些问题,C的function常常包含了unsigned short : : ,unsigned char和xxx(unsigned short array[10])这种要传array的型态,遇到 : : 这种问题不知道要怎麽处理? : 用相近的型态来替代吧 : unsingned short → long : unsingned char → string 说到这个我觉得奇怪,在C code里面如果是xx(int x)的话,在VB我要用ByVal x as Long 才有办法跑,不然就直接或没有反应,然後unsigned short我也用long想跑过,但是执行 到这一步程式就会当掉,有上网google了几个,似乎有几篇文章有提到类似的问题,但还 再研究中,因为我是要丢变数给dll,不知道格式要不要在修改过? 谢谢你的回答 我在研究看看 : 阵列用传址的方式... : VB6有提供这三个函数可以取得变数位址 : strPtr(), varPtr(), objPtr() : 函数的位址 AddressOf xxxx() : WindowsAPI 的 CopyMemory() 可以进行记忆体操作o.o : (不过这是危险的动作,操作不当是会直接关掉程式的...) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.155.31
1F:推 cole945:因为你用VC++编,他的int是4byte,但在VB6,Integer是2Byte 01/16 00:01
2F:→ cole945:转换时一定要注意参数type的大小~ 01/16 00:02
3F:推 cole945:对了,你从C DLL那边的unsigned short应该是2-byte,所以你 01/16 00:11
4F:→ cole945:在VB6也应该用对应的 2-byte 的Integer 来接收~, 但因为 01/16 00:11
5F:→ cole945:Integer是有号,所以超过0x7FFFF的数会因为2的补数表示法 01/16 00:12
6F:→ cole945:的关系变成负数,若是变成负数表示超过范围,加回&h10000即 01/16 00:13
7F:→ cole945:可。但Integer范围有限,所以你要改用Long array来放.. 01/16 00:14
8F:→ macgyfu:我在MSDN看到.NET有UShort的资料型态,这是VB.Net吗? 01/16 01:53
9F:→ macgyfu:VBA里面有办法使用吗? 01/16 01:55
10F:→ macgyfu:或VB6.0 01/16 01:55
11F:推 fumizuki:.NET 和 VB6 的资料型态 大小 是不一样的... 01/16 06:15
12F:推 fumizuki:unsigned short 的最大值是65536 VB6的long 是65535 01/16 06:16
13F:推 cole945:.NET的ushort是到65535(0xFFFF)才对(总之是-byte), VB6的 01/16 22:29
14F:→ cole945:Long是有号4Byte,所以值域在正负2G~ MSDN上应该已经查不到 01/16 22:30
15F:→ cole945:VB6那时的相关资料吧@.@? 用google搜 VB6和type应该比较快 01/16 22:31
16F:→ cole945:不然去灌 visual studio 6 那时的离线版的MSDN文件吧@.@ 01/16 22:32
17F:→ macgyfu:有点feeling了,灌了VB2005乱Try,之前VB6要用long在2005괠 01/16 22:35
18F:→ macgyfu:要用integer,然後在C里面用unsigned short在vb2005要用 01/16 22:36
19F:→ macgyfu:short,还蛮妙的。 01/16 22:36
20F:推 fumizuki:喔最大值我记错了 vb6 integer 32767 long 2147483647 01/17 06:38







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP