Utilize multiple values upon starting up a VB.NET Windows application?

All,

I'm trying to change my VB.net .exe program to have more than one value passed to the program.  But I get a Value of type 'String' cannot be converted to '1-dimensional array of Boolean' with line item:  bOpen = returnValue(2).ToString

I understand returnValue(1) will give me the parameter when running this .exe - all I"m trying to do is have a second parameter true or false.  The first parameter will be a file I want to adjust and the second parameter will tell the computer to open the file when finished but only do so if the value is true.

Thank you for any help - much appreciated.
Private Sub frmMain_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown

    Dim returnValue As String()
    Dim bOpen As String()
    returnValue = Environment.GetCommandLineArgs()
    If returnValue.Length > 1 Then
      txtFile.Text = returnValue(1).ToString
      Try
        bOpen = returnValue(2).ToString
      Catch ex As Exception

      End Try
      btnBrowse.Visible = False

      Call Start_Process(returnValue(1).ToString, True)

    Else

      txtFile.Text = "Q:\EC"

    End If


  End Sub

Open in new window

LVL 1
stephenlecomptejrAsked:
Who is Participating?
 
Carl TawnConnect With a Mentor Systems and Integration DeveloperCommented:
You have "bOpen" delcared as an array, but you are only pulling a single value from the command line arguments array. You should just need to change the line:
Dim bOpen As String()

Open in new window

To:
Dim bOpen As String

Open in new window

Not sure why it's complaining about Boolean, unless there was a type in your code an "bOpen" is actually a Boolean array.
0
 
stephenlecomptejrAuthor Commented:
fyi THE Start_Process code is:
Private Sub Start_Process(ByVal sDatabase As String, ByVal bOpen As Boolean)

    txtFile.BackColor = Color.WhiteSmoke
    Application.DoEvents()
    lblArchiving.Visible = True
    Application.DoEvents()
    Me.Cursor = Cursors.WaitCursor
    Application.DoEvents()

    If Archive_File(sDatabase) = False Then

      Me.Cursor = Cursors.Default
      btnBrowse.Visible = True
      MessageBox.Show("Was not succesful in archiving database.  Please have database admin give it a try.  Sorry.")
      Application.Exit()

      Exit Sub

    End If

    If bOpen = True Then

      Open_Access_Database(sDatabase)
      Me.Cursor = Cursors.Default
      Application.Exit()

    End If

  End Sub

Private Sub Open_Access_Database(ByVal sDatabase As String)

    Dim sMsg As String
    Dim i As Integer

    System.Windows.Forms.Application.DoEvents()
    sMsg = sDatabase & ": existed: " & File.Exists(sDatabase)
    Try

      Process.Start(sDatabase)

    Catch exError As Exception

      For i = 1 To 500

      Next

      Try

        Process.Start(sDatabase)

      Catch ex As Exception
        'ErrorMessageString = exError.ToString & " - " & exError.Message
        'Call ExceptionClassObject.WriteExceptionErrorToFile(ExceptionErrorFileString, Me.Name, sMsg, ErrorMessageString, WriteErrorMessageString)

      End Try

    End Try

  End Sub

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.