[.NET] VB在 VS2010 裏傳pointer給C DLL
各位大大好,小弟最近由於工作需要,且客戶端是使用VB,
用C寫了DLL給VB呼叫。
但是由於對VB不熟悉,發生了傳入的pointer無法回傳值,
因此做了一個實驗。
用C做了一個小DLL,prototype如下:
__stdcall AddInteger(int32_t in, int32_t *Out);
動作很簡單,就是輸入一個in的值,同時傳入一個整數的pointer,
把in的值加一後,寫到pointer的數值裡。
VB部分的程式碼如下:
(載入DLL)
Public Declare Function AddInteger Lib "C:\Arithmatic.dll" (ByVal Inp As Long, ByRef Outp As Long) As Integer
程式部分:
Dim inp As Long
Dim outp As Long
inp = 5
AddInteger(inp, outp)
但是不管怎麼傳,outp都不是6回傳。
請問有哪位高手可以指點一下,小弟是哪裡寫的有問題嗎?
謝謝~!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.80.107
※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1538663164.A.763.html
推
10/08 03:10,
6年前
, 1F
10/08 03:10, 1F
推
10/08 23:47,
6年前
, 2F
10/08 23:47, 2F
→
12/29 13:00,
5年前
, 3F
12/29 13:00, 3F
→
12/29 13:00,
5年前
, 4F
12/29 13:00, 4F
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章