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想使用多執行...