2013-01-24 35 views
1

我知道我們可以在C/C++中使用&或以某種方式在C#中找到它。在VB.NET中的方式是什麼?如何查找變量的地址?

+3

在VB.NET你不需要一個變量的地址。你想做什麼? – dtb

+1

如果你將託管數據傳遞給本機DLL,我可以看到這種方式的唯一方法......在這種情況下,你將使用Marshal分配內存......如果你解釋了你想要做的事情,這將更有意義。 .. – devHead

回答

-1

MicroSoft Support我在這裏提出一個解決方案:

a是整型變量,而address是一個長變量持有的a

Declare Function adresMemory Lib "msvbvm50.dll" Alias "VarPtr" _ 
(ByVal Var As Integer) As Long 
Dim a As Integer = 10 
Dim address As Long = adresMemory(a)'<------ address holds the address of variable a 
+0

該頁面是指VB6。您發佈的代碼在任何情況下都無法運行,因爲您正在按值傳遞'a'。 – Blorgbeard

0

地址其實,這個答案的確可以使VB5/VB6 VarPtr函數在VB.Net中可用。只需修正聲明中的錯誤即可。我試圖用memcpy來複制整數,它工作。

聲明函數VarPtr庫「MSVBVM60.DLL」別名「VarPtr」(爲ByRef變量作爲整數)作爲整數