Declaration expected Vb.net

r3nder
r3nder used Ask the Experts™
on
I have an error declaration expected
Public Class FINDEMPPINEventArgs
    Inherits System.EventArgs
    ' Dim mode As modExtensions = New modExtensions()
    'Dim cv As cVerifone = New cVerifone()
    Public Property cMx900Series1 As Object = New cMx900Series()
    Public Property cVerifone1 As Object = New cVerifone()
End Class
Public Class Sender
    Public Event Start(ByVal sender As Object, ByVal e As FINDEMPPINEventArgs)
    Protected Overridable Sub OnStart(ByVal e As FINDEMPPINEventArgs)
        RaiseEvent Start(Me, e)
    End Sub
    Dim cVerifone1 = New cVerifone()
     cVerifone1.Send("Pin ENTERED", "<STX>XEVT<FS>0<FS>ControlID<FS>ON_KEYPRESS<FS>1<ETX>")<---cVerifone1 has the error
  


End Class
Public Class Receiver
    Friend WithEvents MySender As Sender
    Private Sub MySender_Start(ByVal sender As Object, _
          ByVal e As FINDEMPPINEventArgs) Handles MySender.Start
        getenteredPin()
    End Sub
    Private Sub getenteredPin()
        'cMx900Series = New cMx900Series()
        cMx900Series1.ProcessCommand()
        EMPPINENTERED = cMx900Series1.EMPPINENTERED.ToString()
        MessageBox.Show(EMPPINENTERED.ToString())
    End Sub
    Private Function cVerifone1() As Object

    End Function
    Private Function cMx900Series1() As Object
    End Function

End Class

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Which line throws the exception?

Author

Commented:
14
Éric MoreauSenior .Net Consultant
Top Expert 2016

Commented:
you are trying to call an instruction (cVerifone1.Send) but you are outside a method, you are at the class level.

you need to create method that will wrap that call.
C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

ste5anSenior Developer

Commented:
Do you think we are human compilers?

But obviously: You cannot execute code outside of a method.

Author

Commented:
Did this and it still  needs a declaration on the marked line
Public Class FINDEMPPINEventArgs

    Inherits System.EventArgs
    Public Property sender As Sender = New Sender
    Public Property cMx900Series1 As Object = New cMx900Series()
    Public Property cVerifone1 As Object = New cVerifone()

    Public Sub callToStart()
        sender.gostart()
    End Sub
End Class
Public Class Sender
    Public Property FINDEMPPIN As FINDEMPPINEventArgs = New FINDEMPPINEventArgs()
    Public Shared Event Start(ByVal sender As Object, ByVal e As FINDEMPPINEventArgs)
    Protected Overridable Sub OnStart(ByVal e As FINDEMPPINEventArgs)
        RaiseEvent Start(Me, e)
    End Sub
    Dim cVerifone1 = New cVerifone()
    FINDEMPPIN.callToStart() <--------------------------------------------------------------------HERE FINDEMPPIN
    Public Sub gostart()
        Dim maiform = New MainForm()
        MainForm.Send("Pin EMP_PIN", "<STX>XEVT<FS>0<FS>", "ControlID", "<FS>ON_KEYPRESS<FS>1<ETX>")
    End Sub

End Class
Public Class Receiver
    Friend WithEvents MySender As Sender
    Private Sub MySender_Start(ByVal sender As Object, _
          ByVal e As FINDEMPPINEventArgs) Handles MySender.Start
        getenteredPin()
    End Sub
    Private Sub getenteredPin()
        'cMx900Series = New cMx900Series()
        cMx900Series1.ProcessCommand()
        EMPPINENTERED = cMx900Series1.EMPPINENTERED.ToString()
        MessageBox.Show(EMPPINENTERED.ToString())
    End Sub
    Private Function cVerifone1() As Object
    End Function
    Private Function cMx900Series1() As Object
    End Function
End Class

Open in new window

Éric MoreauSenior .Net Consultant
Top Expert 2016
Commented:
you cannot have code just like this outside method. A class is just like any other file you would have in .Net.
Senior Developer
Commented:
You must move it into a method...

Public Class Sender
    Public Property FINDEMPPIN As FINDEMPPINEventArgs = New FINDEMPPINEventArgs()
    Public Shared Event Start(ByVal sender As Object, ByVal e As FINDEMPPINEventArgs)
    Protected Overridable Sub OnStart(ByVal e As FINDEMPPINEventArgs)
        RaiseEvent Start(Me, e)
    End Sub

    Dim cVerifone1 = New cVerifone()

    Public Sub MyNewMagicMethod()
        FINDEMPPIN.callToStart() <--------------------------------------------------------------------HERE FINDEMPPIN
    End Sub

    Public Sub gostart()
        Dim maiform = New MainForm()
        MainForm.Send("Pin EMP_PIN", "<STX>XEVT<FS>0<FS>", "ControlID", "<FS>ON_KEYPRESS<FS>1<ETX>")
    End Sub

End Class

Open in new window


btw, a Dim on class level makes also not that much sense. And gostart is really uninformative name for a method. A good method name is a speaking one. Normally like in natural languages: VerbSubjectObject().

Author

Commented:
as always thank you guys

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial