Avatar billede douglas Nybegynder
07. april 2003 - 21:00 Der er 9 kommentarer og
2 løsninger

Haster: Inet control -- fejlmelding / undgå crash

Jeg bruger inet controllen og denne kode til at uploade to filer til en ftp-server:

Inet1.Execute "ftp://" & UserName & ":" & Password & "@" & URL, "PUT temp\default.asp /default.asp"
       
        Do
            DoEvents
        Loop Until Not Inet1.StillExecuting
           
        Inet1.Execute "ftp://" & UserName & ":" & Password & "@" & URL, "PUT db.mdb /db.mdb"

Mit problem er så at hvis der opstår fejl såsom, serveren findes ikke, eller brugernavn og kode er forkert, så crasher programmet...

Er der er en måde man kan undgå dette på,, og evt. komme med en passende fejlbesked.
Avatar billede mcgoat Nybegynder
07. april 2003 - 21:52 #1
du kan undgå at der kommer en fejl ved at skrive: On Error Resume Next øverst i din funktion..
Avatar billede mcgoat Nybegynder
07. april 2003 - 21:53 #2
så fortsætter den bare selvom der skulle opstå en fejl... du kan jo også:
On Error Goto EnFejl
Inet1.Execute "ftp://" & UserName & ":" & Password & "@" & URL, "PUT temp\default.asp /default.asp"
       
        Do
            DoEvents
        Loop Until Not Inet1.StillExecuting
           
        Inet1.Execute "ftp://" & UserName & ":" & Password & "@" & URL, "PUT db.mdb /db.mdb"
EnFejl:
Avatar billede mcgoat Nybegynder
07. april 2003 - 21:54 #3
så springer den ned til EnFejl: hvis der er opsået en fejl
Avatar billede joern Nybegynder
07. april 2003 - 22:14 #4
mcqoat>>

Ja, og efter EnFejl:
  x = msgbox("Den angivne ........... finde ikke!",16,"Medd. fra FTP-funktion.")
  Resume Next
  Exix Sub
Fejl_2:
  x = msgbox("Der er ....
  ......

End Sub

Det hastede alligevel ikke så vildt, Douglas har ikke meldt tilbage endnu.

M.v.h.  Jørn
Avatar billede douglas Nybegynder
07. april 2003 - 22:18 #5
Det hastede alligevel ikke så vildt, Douglas har ikke meldt tilbage endnu. ---
Haster betyder ikke at det ikke kan vente mere end en time...
Rolig nu...
Vil lige afprøve forslagene, så små slag Jørn
Avatar billede mcgoat Nybegynder
07. april 2003 - 22:26 #6
joern>> hvorfor dog x = MsgBox()? man skal vel alligevel bare trykke OK til hvis der kommer en fejl.. skal jo kun bruge Variabel = MsgBox() hvis der er flere valg, ellers er det da spild af plads i hukommelsen
Avatar billede douglas Nybegynder
07. april 2003 - 22:28 #7
Jørn, smid lige et svar...
Der er 100 point på vej til jer begge :)
Avatar billede mcgoat Nybegynder
07. april 2003 - 22:38 #8
du fik det til at virke på den måde du gerne ville?
Avatar billede joern Nybegynder
07. april 2003 - 23:24 #9
Hej.

Tak for point.  1 time er ikke lang tid i udviklingen af et program, det har du ret i. 
Når jeg bruger x = msgbox(....,16,...) giver det mulighed for at anvende et af de 4 ikoner i boksen, samt en overskrift i boksens titel-linie.  Hukommelse er næppe et problem idag, det var engang.
Ved nogle fejl kan det være relevant med ...,36,.... hvor brugeren kan vælge at fortsætte, eller afbryde og måske rette fejl i en datafil.

M.v.h.  Jørn
Avatar billede mcgoat Nybegynder
08. april 2003 - 08:33 #10
bare en lille kommentar.. for at lave de 4 ikoner som du siger og en overskrift.. det kan du lave uden x = MsgBox()... bare en notice... :)
Avatar billede douglas Nybegynder
08. april 2003 - 15:18 #11
Ja, jeg fik det til at virke som jeg ville.
Have set "On Error Goto" på msdn, men havde ikke lagt noget i den, da anvendelsen var dårligt beskrevet.
Men nu virker det da.
Tak skal i have
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

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