-1

コードを から に変更したため、問題が発生していvb6ます.net。この問題を解決できないようです。手伝ってください。

私が得ているエラーメッセージ:

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

これは、コード内のかなりの数の場所で発生しています。これは私のコードです。問題は、FrmInvItem.Inv と表示されている場所です。

Option Strict Off Option Explicit On パブリック クラス 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
4

2 に答える 2

1

共有されていないと思いInvますが、それが含まれているクラスのインスタンスなしで呼び出しています。したがって、それをshared作成するか、次のインスタンスを作成する必要がありますfrmInvItem

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

frmInvItemはクラスであり、メソッドがshared.

Sharedプロシージャは、クラスの特定のインスタンスに関連付けられていないクラス メソッドです。たとえばCos、クラス内で定義されたメソッドMathは共有メソッドです。共有プロシージャは、オブジェクトのメソッドとして、またはクラスから直接呼び出すことができます。

于 2013-05-14T08:26:12.010 に答える
0

frmInvItインスタンスを作成せずに で Inv というメソッドを実行しています。

メソッドを実行するインスタンスを作成する必要があります。

http://msdn.microsoft.com/en-us/library/77s47661.aspx

于 2013-05-14T08:27:04.927 に答える