Re: [VB6 ] VB呼叫C DLL,變數轉換問題?
※ 引述《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
推
01/16 00:01, , 1F
01/16 00:01, 1F
→
01/16 00:02, , 2F
01/16 00:02, 2F
推
01/16 00:11, , 3F
01/16 00:11, 3F
→
01/16 00:11, , 4F
01/16 00:11, 4F
→
01/16 00:12, , 5F
01/16 00:12, 5F
→
01/16 00:13, , 6F
01/16 00:13, 6F
→
01/16 00:14, , 7F
01/16 00:14, 7F
→
01/16 01:53, , 8F
01/16 01:53, 8F
→
01/16 01:55, , 9F
01/16 01:55, 9F
→
01/16 01:55, , 10F
01/16 01:55, 10F
推
01/16 06:15, , 11F
01/16 06:15, 11F
推
01/16 06:16, , 12F
01/16 06:16, 12F
推
01/16 22:29, , 13F
01/16 22:29, 13F
→
01/16 22:30, , 14F
01/16 22:30, 14F
→
01/16 22:31, , 15F
01/16 22:31, 15F
→
01/16 22:32, , 16F
01/16 22:32, 16F
→
01/16 22:35, , 17F
01/16 22:35, 17F
→
01/16 22:36, , 18F
01/16 22:36, 18F
→
01/16 22:36, , 19F
01/16 22:36, 19F
推
01/17 06:38, , 20F
01/17 06:38, 20F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章