-         

Ergebnis 1 bis 5 von 5

Thema: On Error

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.02.2005
    Ort
    Südtirol
    Beiträge
    283

    On Error

    Anzeige

    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

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    27.07.2006
    Ort
    Rheinstetten
    Alter
    26
    Beiträge
    23
    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

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.02.2005
    Ort
    Südtirol
    Beiträge
    283
    Hi, danke für die Antwort, Klappt wunderbar!!
    Jetzt hab ich allerdings noch ei Problem mit folgendem Code:
    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?

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    27.07.2006
    Ort
    Rheinstetten
    Alter
    26
    Beiträge
    23
    Hallo,
    probier mal statt:

    Do Until Koordinaten = Empty

    das hier:

    Do While Not EOF(DateinNr)

    Grüße
    David

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.02.2005
    Ort
    Südtirol
    Beiträge
    283
    Hi, super alles funzt bestens!! Danke dir!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •