2013-05-14 39 views
-1

我遇到問題,因爲我將代碼從vb6更改爲.net,我似乎無法理清我遇到的這個問題。請協助。無共享成員需要一個對象引用

該錯誤消息我得到:

Error 5 Reference to a non-shared member requires an object reference. 

這是發生在代碼中相當多的地方。這是我的代碼。問題是,它說FrmInvItem.Inv.`

選項嚴格關 顯式的選項在 公共類ClsInv

Public Function RunProcess(ByVal ConnectStr As String, ByRef Parstr As String) As Integer 
    Dim frmInvIt As frmInvItem 
    RunProcess = frmInvItem.Inv(ConnectStr, Parstr) 
    frmInvIt.Close() 
End Function 
+0

所以你使用VB.Net,不C#?如果是這樣,請更改您的問題標籤。 – 2013-05-14 08:25:19

+1

您的frmInvIt需要使用New關鍵字進行初始化:Dim frmInvIt As New frmInvItem – 2013-05-14 08:28:12

+0

感謝All3 Lucky3似乎對它進行了排序。 – 2013-05-14 08:34:14

回答

1

我認爲Inv未共享,但你沒有的實例調用它它在哪裏。所以,你要麼必須使它shared或創建的frmInvItem一個實例:

Dim frmInvIt As New frmInvItem() ' create instance 
RunProcess = frmInvIt.Inv(ConnectStr, Parstr) ' use it on this instance 

frmInvItem是類,您可以通過類名調用方法纔會方法是shared

Shared過程是類方法,它與類的特定實例無關。例如,在Math類中定義的Cos方法 是一種共享方法。您可以將共享 過程作爲對象的方法或直接從該類調用。

相關問題