中引用vb編寫的

2021-04-14 01:17:21 字數 850 閱讀 6686

private declare sub make lib "makebar.dll" _

(ucdata as byte, byval nlen as long, byval szfilename as string, byval nclumn as long, byval nerr as long, byval nhlratio as long)

dim a() as byte

a = strconv(text1.text, vbfromunicode)

make a(0), ubound(a) - lbound(a) + 1, "abc.bmp", clng(text2.text), clng(text3.text), clng(text4.text)

c#[dllimport("makebar.dll", entrypoint="make")]

private static extern void make(ref byte ucdata, long nlen, string szfilename, long nclumn, long nerr, long nhlratio);

byte a = system.text.encoding.utf8.getbytes(text1.text);

make(ref a[0], a.length, "abc.bmp", long.parse(text2.text), long.parse(text3.text), long.parse(text4.text);

其中對於那個ref引數我不是很確定。舊vb裡,不寫byval就是byref,但是好像在c#裡面ref只可以傳遞簡單的變數,例如a,而"a[0]"是沒辦法ref傳的。如果過程之後a[0]不需要改變,那就去掉那兩個ref就可以了

VB編寫DLL時關於「引用」的相關知識

在dll裡,不能直接使用asp的內部物件,要使用asp的內部物件,必須引用 com 服務型別庫 comsvcs.dll 和asp.dll。如何訪問visual basic com元件內的active server pages內部物件,詳見 1 com services type library 即 ...

在vb,vc中呼叫vb編寫的DLL

假設用vb編寫了乙個activex 元件,名稱為bioxsend,裡面生成乙個類test,類裡面有乙個方法hello 並且已經在電腦上註冊,下面分別描述怎樣在vb和vc中呼叫。1.vb呼叫 1 方法1 直接在project reference裡引用該dll,然後在使用時宣告就可以了,如下 dim a...

VB編寫搖獎程式

學院搞活動,有個環節是 要求我幫他們寫乙個電腦搖獎的程式,就像電視的綜藝介面一樣按回車開始,按空格停下來。開始的時候沒有仔細的想,以為沒有什麼難度就欣然的答應了,開始寫的時候才發現,需要在外部通過條件判斷強制的中斷無限的迴圈。腦子裡第乙個想到的就是用多執行緒,可是大家都知道,如果用 vb想使用多執行...