Solved

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

Posted on 2011-02-15
2
337 Views
Last Modified: 2012-05-11
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

0
Comment
Question by:stephenlecomptejr
2 Comments
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 34900103
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
 
LVL 1

Author Comment

by:stephenlecomptejr
ID: 34900774
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
I designed this idea while studying technology in the classroom.  This is a semester long project.  Students are asked to take photographs on a specific topic which they find meaningful, it can be a place or situation such as travel or homelessness.…

943 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now