十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
調(diào)用過程,調(diào)用過程有諸多技巧,它們與過程的類型、位置以及在應用程序中的使用方式有關(guān)。下面說明如何調(diào)用 Sub 過程和 Function 過程。
創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為三沙企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都做網(wǎng)站,三沙網(wǎng)站改版等技術(shù)服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
調(diào)用 Sub 過程
與 Sub 過程不同,在表達式中,Sub 過程不能用其名字調(diào)用。調(diào)用 Sub 過程的是一個獨立的語句。Sub 過程還有一點與函數(shù)不一樣,它不會用名字返回一個值。但是,與 Function過程一樣,Sub 過程也可以修改傳遞給它們的任何變量的值。
調(diào)用 Sub 過程有兩種方法:
'以下兩個語句都調(diào)用了名為 MyProc 的 Sub 過程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意,當使用 Call 語法時,參數(shù)必須在括號內(nèi)。若省略 Call 關(guān)鍵字,則也必須省略參數(shù)兩邊的括號
調(diào)用函數(shù)過程
通常,調(diào)用自行編寫的函數(shù)過程的方法和調(diào)用 Visual Basic 內(nèi)部函數(shù)過程(例如 Abs)的方法一樣;即在表達式中寫上它的名字。
'下面的語句都調(diào)用函數(shù) ToDec。
Print 10 * ToDec
X = ToDec
If ToDec = 10 Then Debug.Print "Out of Range"
X = AnotherFunction ( 10 * ToDec)
就像調(diào)用 Sub 過程那樣,也能調(diào)用函數(shù)。下面的語句都調(diào)用同一個函數(shù):
Call Year (Now)
Year Now
當用這種方法調(diào)用函數(shù)時,Visual Basic 放棄返回值。
調(diào)用其它模塊中的過程
在工程中的任何地方都能調(diào)用其它模塊中的公用過程??赡苄枰付ㄟ@樣的模塊,它包含正在調(diào)用的過程。調(diào)用其它模塊中的過程的各種技巧,取決于該過程是在窗體模塊中、類模塊中還是標準模塊中。
窗體中的過程
所有窗體模塊的外部調(diào)用必須指向包含此過程的窗體模塊。如果在窗體模塊 Form1 包含 SomeSub 過程,則可使用下面的語句調(diào)用 Form1 中的過程:
Call Form1.SomeSub(arguments)
類模塊中的過程
與窗體中調(diào)用過程類似,在類模塊中調(diào)用過程要調(diào)用與過程一致并且指向類實例的變量。例如,DemoClass 是類 Class1 的實例:
Dim DemoClass as New Class1
DemoClass.SomeSub
但是不同于窗體的是,在引用一個類的實例時,不能用類名作限定符。必須首先聲明類的實例為對象變量(在這個例子中是 DemoClass )并用變量名引用它。
標準模塊中的過程
如果過程名是唯一的,則不必在調(diào)用時加模塊名。無論是在模塊內(nèi),還是在模塊外調(diào)用,結(jié)果總會引用這個唯一過程。如果過程僅出現(xiàn)在一個地方,這個過程就是唯一的。
如果兩個以上的模塊都包含同名的過程,那就有必要用模塊名來限定了。在同一模塊內(nèi)調(diào)用一個公共過程就會運行該模塊內(nèi)的過程。例如,對于 Module1 和 Module2 中名為 CommonName 的過程,從 Module2 中調(diào)用 CommonName 則運行 Module2 中的 CommonName 過程,而不是 Module1 中的 CommonName 過程。
從其它模塊調(diào)用公共過程名時必須指定那個模塊。例如,若在 Module1 中調(diào)用 Module2 中的 CommonName 過程,要用下面的語句:
Module2.CommonName (arguments)
Public ? 用于聲明對所有模塊中的所有其它過程都可以使用的過程。?
Private ?用于聲明只能在包含該聲明的模塊中使用的過程。
在模塊中引用到窗體中的控件,必須在該控件名之前由相應的窗體名作為前導,例如:
1,要引用窗體Form1中的控件TextBox1
MsgBox(Form1.TextBox1.Text)
2,要引用窗體Form2中的控件TextBox1
MsgBox(Form2.TextBox1.Text)
在項目A里添加引用,在“添加引用”對話框里找到項目B就可以了。也可以先把項目B生成dll文件,然后在項目A中添加對這個dll文件的引用。
以class2為例,如果你只需要一個class2實例,那么把它在class1成員中聲明為共享成員即可。
Shared c2 As New Class2()
然后調(diào)用它的函數(shù),
c2.func()
如果class2的這個函數(shù)不依賴于class2實例,那么直接將這個函數(shù)用Shared聲明,
Public Shared Function func() As xxx
'xxxxx
End Function
然后在class1中引入,
Imports class2
直接調(diào)用即可。
func()
我想第二種更符合你的情況。
如果是托管的Dll或則com組件類,直接在項目上添加這個DLL的引用\x0d\x0a如果是非托管的,已API函數(shù)方式調(diào)用的DLL,使用DllImport方式申明DLL函數(shù)\x0d\x0a\x0d\x0a不過一般這種情況是吧IP地址等配置信息寫在配置文件里面,若XML,INI,應用程序配置文件等方式\x0d\x0a\x0d\x0a配置文件用戶可以直接打開查看,連接字符串寫在那里,數(shù)據(jù)庫就不安全了。
在任何一個類前面 Imports + 要引入的命名空間即可。
一些默認的命名空間 VB.net 已經(jīng)自動導入。