vb向vc編寫的DLL傳遞字串不成功

2025-06-07 08:05:52 字數 1301 閱讀 6718

1樓:網友

dim name as string

name = 滾純abcdefg_eaf」 '字畢備孝符串要用引號手稿括起來。

call set(name)

vc動態鏈結庫如何向vb傳遞字串

2樓:網友

應該不行,因為vb不支援指標,所以只能乙個乙個字元傳遞。

或者把字串存入程式登錄檔了,再用vb裡的getsetting函式取出來。試一式吧!祝你好運!

有事可以我討論。

vc dll返回字串給vb的問題

3樓:我是菜菜誰怕誰

呵呵,我是剛學c不久的,學了二個多月現在可以寫簡單標準的dll給任何開發言語呼叫,你的問題開始我也遇到過類似的,花了我一天的時間研究及網上海掏,後來發現原來是個常識性的小問題,雖然如此,但也不是三言兩語就能說得清,推薦你看這個例子:

另外,dll函式中標準的寫法最好不要用字串方式作返回結果值,最好是用函式**方式,看看windows 的api都是這樣寫的。

目前我的機器沒有裝vc,沒法給你準確答案,也不知你報什麼錯有什麼提示,但從你的**中看,應該是有兩種可能,一,是dll介面與vb呼叫介面的約定問題,二,是目標 rtnstr 是隻讀問題,向唯讀區拷貝資料肯定會出錯,應該要用 rtnstr[8],從**上看函式應該是要從 str1 拷貝到 rtnstr ,返回應該是 bbbb 而不是 aaaa 。

vb呼叫vc寫的dll簡單問題

4樓:網友

int是多少?

至少樓上的資料型別是弄錯了。

vbvc都把引數型別和返回型別換成long就ok了,錯的主要是在於vc定義的函式的引數返回值都是32位長度的整形值,你在vb裡定義的卻是16位整形值。

當然是在32位作業系統下,就ok了。

怎麼還沒給分啊,看在50分的份上我再說兩句。

int是變長單位,它表示乙個計算機字長,計算機發展過程中他變了很多次了。

vb的integer是16位的,而vc的int在32位系統上他是32位的,所以我建議你全換成定長的long,long在vbvc裡都是32位長度,換過來就ok啦。

你說的大數應該是返回值問題,因為高16位不確定啊,所以返回的肯定是大數了。

這個vc寫的dll在vb裡該如何呼叫?

5樓:網友

首先,你的dll不能是擴充套件dll。

其次,通用的dll不分啥語言寫的,呼叫同呼叫其它型別的dll

VB編寫自動重複按鍵的問題,VB編寫自動按鍵時,不停按「下」怎麼寫

新增兩個timer,第一個enabled true,interval 100,第二個enabled fasle,interval 1000private declare function getasynckeystate lib user32 byval vkey as long as intege...

C 動態呼叫C 編寫的DLL函式

呼叫dll有很多方式,比如通過傳送訊息,比較簡單直觀就是直接呼叫。例如 有乙個,將他放在應用程式同級目錄下,hinstance hins null hins loadlibrary 定義希望呼叫的函式 指標。typedef float pfunc int 希望呼叫的引數列表 pfunc pmsg 將...

VB傳值的問題,VB中關於傳值和傳地址的問題?

上半部分和問題都不是一個型別的 上半部分是傳值和傳址的問題。加上byval是傳值 private function fun byval x as integer,byval y as single 執行過程中不會改變原來的引數值,傳遞的只是一個備份。比如。x 3,y 4 fun x,y 然後執行時候...