Avatar billede acid-head Nybegynder
21. oktober 2001 - 23:53 Der er 11 kommentarer og
1 løsning

Kør modul...?

<acidhead>

Jeg har lavet mit første lille program i Visual Bacis. Det er et kør modul med en textbox og en knap... Koden ser sådan ud:

Private Sub Knap1_Click()
kommando.SetFocus
Dim RetVal
RetVal = Shell(kommando, 1)
If RetVal Then
kommando.Text = \"\"
End If
End Sub

Nu har jeg så det her problem...:

Når man skriver et program i textboxen (navn: kommando), som ikke findes kommer programmet bare med en eller anden runtime error, og afsluttes derefter... :(

- Nu vil jeg så gerne have at man prøver at kører et program der ikke findes skal den åbne en form der hedder fejl.

- Håber VIRKELIG i kan hjælpe mig... :)

</acidhead>
Avatar billede jelzin101 Praktikant
21. oktober 2001 - 23:57 #1
ok så prøver vi igen :0)
Private Sub Knap1_Click()
On error goto fejl
kommando.SetFocus
Dim RetVal
RetVal = Shell(kommando, 1)
If RetVal Then
kommando.Text = \"\"
End If
:fejl
form2.show
me.hide
End Sub

håber du forstår - det kan også godt være at det ikke kører med det samme, da min vb er brudt sammen...


Avatar billede acid-head Nybegynder
22. oktober 2001 - 00:04 #2
<acidhead>

Det virker ikke helt... :(

- Den skriver: Invalid use of property

og så makerer den en linie:

Private Sub Knap1_Click()
On Error GoTo Fejl
kommando.SetFocus
Dim RetVal
RetVal = Shell(kommando, 1)
If RetVal Then
kommando.Text = \"\"
End If
: Fejl <---- DEN DER!
Fejl.Show
Me.Hide
End Sub
Avatar billede jelzin101 Praktikant
22. oktober 2001 - 00:12 #3
prøv at fjerne :
Avatar billede acid-head Nybegynder
22. oktober 2001 - 00:15 #4
Nu får jeg en fejl der hedder:

Sub or Function not defined

- PS... Har du ikke ICQ? :)
Avatar billede isdan Nybegynder
22. oktober 2001 - 07:55 #5
Private Sub Knap1_Click()
    On Error GoTo Fejl
    kommando.SetFocus
    Dim RetVal
    RetVal = Shell(kommando, 1)
    If RetVal Then kommando.Text = \"\"
   
Fejl:
    Fejl.Show
    Me.Hide
End Sub
Avatar billede acid-head Nybegynder
22. oktober 2001 - 12:51 #6
<acidhead>

Isdan -> Det virker... Når man skriver et program som ikke findes viser den Fejl-formen, men det gør den OGSÅ når man skriver et program der findes... :(

- Er det noget der kan gøres noget ved? :)

</acidhead>
Avatar billede isdan Nybegynder
22. oktober 2001 - 14:00 #7
Du må undskyld mig der er mig der sover i timen.. Her er det så.


Private Sub Knap1_Click()
    On Error GoTo Fejl
    kommando.SetFocus
    Dim RetVal
    RetVal = Shell(kommando)
    If RetVal Then kommando.Text = \"\"
Exit sub   
Fejl:
    Fejl.Show
    Me.Hide
End Sub
Avatar billede isdan Nybegynder
22. oktober 2001 - 14:01 #8
Det manglede Exit sub .Der når den til når kommando\'en går godt så skal den jo afslute.
Avatar billede acid-head Nybegynder
22. oktober 2001 - 18:20 #9
Så, nu virker det... :)

- Du har hermed fået dine point, men jeg har lige et enkelt spørgsmål mere...

- Når programmet (mit lille Kør modul) har udført en fejl, altså vist Fejl-formen, så når man afslutter programmet kører det stadig... Uden man kan se det? - Det er jo fordi at Fejl-formen stadig kører, men hvordan \"afslutter\" jeg den, uden at afslutte Form1??? :)

- Håber du vil hjælpe mig med dette lille ekstra-spørgsmål... :)
Avatar billede ea_data Nybegynder
22. oktober 2001 - 18:50 #10
Du kan også prøve at fange fejlen ved at undersøge om programmet findes fx således:

file = Dir(Text1.Text)
If file = \"\" Then
\'program findes ikke
MsgBox (\"Program findes ikke\")
Else
\'file indeholder programnavn, hvis det findes
\'her kan du så starte programmet

End If
Avatar billede isdan Nybegynder
23. oktober 2001 - 08:27 #11
Afslutte et form går man med
unload fejl eller
unload formNavn , på det form du unloader kan du bruge

Private Sub fejl_Unload(Cancel As Integer)
    msgbox(\"Afslut\") 
\' Eller noget andet der skal ske.
End Sub
Avatar billede isdan Nybegynder
23. oktober 2001 - 08:28 #12
går = gør
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester