-
[RESOLVED] [2005]
Hi all!
Thanks for coming to my rescue again.
I'm getting this error:
Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.
Currently trying to code teh dreaded hwk question everyone is getting. Try to run my code:
Code:
[B]
Public Shared Sub OnTimerEvent(ByVal [source] As Object, ByVal e As EventArgs)
Dim i, j, l, k As Integer
Do
i = i + 1
j = i + 1
k = i + 1
l = i + 1
Select Case Val(i)
Case 0
topPence.ForeColor = Color.Black
topleftPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
bottomleftPence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
Case 1
toprightPence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
Case 2
topPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomleftPence.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
Case 3
topPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
Case 4
topleftPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
Case 5
topPence.ForeColor = Color.Black
topleftPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
Case 6
topleftPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
bottomleftPence.ForeColor = Color.Black
Case 7
topPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
Case 8
topPence.ForeColor = Color.Black
topleftPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomleftPence.ForeColor = Color.Black
bottomPence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
Case 9
topPence.ForeColor = Color.Black
topleftPence.ForeColor = Color.Black
toprightPence.ForeColor = Color.Black
topmiddlePence.ForeColor = Color.Black
bottomPenceRight.ForeColor = Color.Black
End Select
Select Case Val(j)
Case 0
topPence2.ForeColor = Color.Black
topleftPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
bottomleftpence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
Case 1
topRightPence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
Case 2
topPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomleftpence2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
Case 3
topPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
Case 4
topleftPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
Case 5
topPence2.ForeColor = Color.Black
topleftPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
Case 6
topleftPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
bottomleftpence2.ForeColor = Color.Black
Case 7
topPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
Case 8
topPence2.ForeColor = Color.Black
topleftPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomleftpence2.ForeColor = Color.Black
bottomPence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
Case 9
topPence2.ForeColor = Color.Black
topleftPence2.ForeColor = Color.Black
topRightPence2.ForeColor = Color.Black
topmiddlePence2.ForeColor = Color.Black
bottomPenceRight2.ForeColor = Color.Black
End Select
Select Case Val(k)
Case 0
topPence3.ForeColor = Color.Black
topleftPence3.ForeColor = Color.Black
topRightPence3.ForeColor = Color.Black
bottomleftPence3.ForeColor = Color.Black
bottomPenceRight3.ForeColor = Color.Black
bottomPence3.ForeColor = Color.Black
Case 1
topRightPence3.ForeColor = Color.Black
...... and thats where the error stops!
If you could help me please, Thanks again in advance :) :)
thrillseeker
-
Re: [2005]
Well, it looks like you're trying to access a class when that class isn't created. This is the "Shared" coding's equivalent of "Object Reference not sset to instance of Object".
IIRC, if you want to access an object from a Shared method, that object either needs to be shared itself or explicitly created within the shared method.
-
Re: [2005]
So how do I go about sorting it out then? Thanks for the reply - Im a little slow with vb.net!
-
Re: [2005]
The error itself is self-explaining... You cannot access a non-shared member from within a shared member. So the solution is simply unsharing your method. Remove the keyword "Shared" from your declaration
Code:
Public Sub OnTimerEvent(ByVal [source] As Object, ByVal e As EventArgs)
-
Re: [2005]
How did you get a shared timer event in the first place? It must have been custom created, but to what end?