Archiv verlassen und diese Seite im Standarddesign anzeigen : On Error
kalletronic
30.04.2007, 19:35
Hi Leute, ich arbeite zur Zeit an der Software zu meiner "CNC Bohrmaschine" und habe schon gleich ein paar Fragen zu Visual Basic
1. Ich möchte von bestimmten Funktionen (z.B. open Dateiname for...)
die Fehlerauswertung mit " On Error Goto Unterprogramm " realisieren, im Unterprogramm soll dann der Fehler anhand einer zuvor zugewiesenen Variable ausgewertet werden
2. Das Unterprogramm sollte aber nur einmal im ganzen Programm geschrieben werden und dann von den verschiedenen Forms aufgerufen werden, hab aber keine ahnung wie das geht
Ich hoffe ich hab das Problem halbwegs verständlich beschrieben und ihr könnt mir helfen
Danke im Voraus, gruß Kalle
Hallo,
soweit ich weiß, kann man mit der Fehlerauswertung "On Error Goto ..." in keine Prozedur (Sub/Function) springen... also nur in eine Zeile innerhalb der Prozedur mit "On Error Goto". Das Einzige, was man machen könnte, ist eine Fehlerbehandlungs-Prozedur zu schreiben, die aus jeder Prozedur, in der ein Fehler ausgelöst werden kann, aufgerufen wird. Klingt kompliziert, deswegen mach ich ein Beispiel =)
Private Sub Prozedur_1
On Error Goto ErrHandler
'Hier wird ein Fehler ausgelöst...
DoEvents 1
'Prozedur vor Fehlerbehandlung abbrechen
Exit Sub
ErrHandler:
Fehlerbehandlung()
End Sub
Private Sub Command1_Click()
On Error Goto ErrHandler
'Hier wird ein Fehler ausgelöst...
DoEvents 1
'Prozedur vor Fehlerbehandlung abbrechen
Exit Sub
ErrHandler:
Fehlerbehandlung()
End Sub
Public Sub Fehlerbehandlung
'Hier können dann alle Fehler ausgewertet werden...
End Sub
Das Grundgerüst mit "On Error...", "Exit Sub", "ErrHandler:" und "Fehlerbehandlung" musst Du dann in jede Prozedur einbauen, in der Du eine Fehlerbehandlung haben willst...Achtung, wenn Du aus verschiedenen Forms die Prozedur "Fehlerbehandlung()" aufrufen willst, musst Du sie in ein Modul setzen.
Ich hoffe, dass ich Dir weiterhelfen konnts :-)
Mfg
David
kalletronic
30.04.2007, 21:02
Hi, danke für die Antwort, Klappt wunderbar!!
Jetzt hab ich allerdings noch ei Problem mit folgendem Code:
Private Sub Öffnen_Click()
Dim Koordinaten As String
Dim Dateilänge, x As Integer
Fehler = "dateiöffnen"
On Error GoTo ERrhandler
x = 0
DateiNr = FreeFile
Open dateiname For Input As DateiNr
Dateilänge = LOF(DateiNr)
Do Until Koordinaten = Empty
Input #DateiNr, Koordinaten
Hauptmodul.Text1.Text = Hauptmodul.Text1.Text & Koordinaten & vbCrLf
x = x + 1
Loop
Close DateiNr
Exit Sub
ERrhandler:
Fehlerbehandlung (Fehler)
End Sub
da kommt immer die Fehlermeldung "Einlesen hinter Dateiende". kannst du mir dabei auch vlt. helfen?
Hallo,
probier mal statt:
Do Until Koordinaten = Empty
das hier:
Do While Not EOF(DateinNr)
Grüße
David
kalletronic
30.04.2007, 21:15
Hi, super alles funzt bestens!! Danke dir!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.