Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
29.07.2008, 08:20 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2008 08:36 von Curtis Newton.)
ich benutze den Allgemeien Errorhandler wie im Bild, um eigene Fehlermeldungen zu erstellen. Das habe ich alles in ein vi gepackt (ErrorCodes.vi). Benutze ich ErrorCodes.vi so in einem vi (z.B. abc.vi) und lasse das laufen, klappt auch alles. Der dialog mit der richtigen Meldung poppt auf. Fertig.
Benutze ich aber abc.vi wieder in einem dritten vi (xyz.vi), so poppt erstmal meine Fehlermeldung wieder auf. Danach poppt aber in xyz.vi nochmal ein Dialog auf, der sagt, er kann den Errorcode nicht zuordnen :-(
Was habe ich da falsch verstanden? Wie macht man das richtig?
Der Fehler wird ja nicht gelöscht, nachdem er angezeigt wurde. Daher wird vermutlich der nicht angeklemmte Error-Ausgang des abc.vi im xyz.vi dafür verantwortlich sein. Zusammen mit der LV-Option 'Automatic Error Handling' werden nicht behandelte Fehler-Ausgänge automatisch zur Anzeige gebracht ( nur in der Entwicklungsumgebung!). Und an dieser Stelle ist der entsprechende Error-Code auch nicht mehr bekannt
Lösung: entweder den Ausgang verdrahten oder den Fehler löschen nachdem er zur Anzeige gebracht wurde.
--- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, ---
--- and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. --- (Rick Cook, The Wizardry Compiled)
' schrieb:Zusammen mit der LV-Option 'Automatic Error Handling' werden nicht behandelte Fehler-Ausgänge automatisch zur Anzeige gebracht ( nur in der Entwicklungsumgebung!). Und an dieser Stelle ist der entsprechende Error-Code auch nicht mehr bekannt
interessant... mir war irgendwann mal aufgefallen, dass der Error-Dialog bei "offenen" Error Clustern auch bei einer Exe angezeigt wurde und die Option "Abbrechen" zur Verfügung stand, was dann quasi ein "Exit LabVIEW" ausgelöst hat. Seit dem hab ich an allen Error-Clustern, die mich nicht weiter interessieren ein "Clear Errors" dran ...
Weißt du zufällig mit welcher Version sich das geändert hat?
--- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, ---
--- and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. --- (Rick Cook, The Wizardry Compiled)
' schrieb:Sorry, kann ich Dir nicht beantworten. Ich war der Meinung, dass das schon immer so funktionierte
ne, irgendwann war das mal so, an einem "meiner" Prüfstände gabs nämlich massive Probleme deswegen. In guter Windows-Tradition haben die Bediener der Prüfstands-Software bei diesen nicht von mir abgefangenen Fehlermeldungen und durch dieses Feature ausgelösten Standard-Fehlermeldungen nämlich immer auf "Abbrechen" geklickt, was dann dazu geführt hat, dass die Prüfstands-Software spontan abgebrochen wurde, was in einigen Fällen gar nicht mal so ungefährlich war ...
' schrieb:Der Fehler wird ja nicht gelöscht, nachdem er angezeigt wurde. Daher wird vermutlich der nicht angeklemmte Error-Ausgang des abc.vi im xyz.vi dafür verantwortlich sein. Zusammen mit der LV-Option 'Automatic Error Handling' werden nicht behandelte Fehler-Ausgänge automatisch zur Anzeige gebracht ( nur in der Entwicklungsumgebung!). Und an dieser Stelle ist der entsprechende Error-Code auch
Da muss ich nochmal nachhaken. Was nützen dann eigene Fehlercodes nebst -meldungen, wenn sie ein vi über meinem schon nicht mehr bekannt sind? Sobald irgendjemand "meine" vis einsetzt, bekommt er doch immer die Meldung, der Fehlercode ist nicht bekannt (außer man legt die Fehlerdatei in user.liberrors an). Ich habe schon überlegt, mir aus den Standard-LabVIEW-Fehlercodes das jeweils passendste rauszusuchen.
Hmmm, wie macht ihr denn das?
C.
13.08.2008, 08:20 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2008 08:33 von Lucki.)
Finde die Diskussion interessant, kann leider von meinen eigenen Erfahrungen nichts dazu beitragen. Habe jetzt lediglich mal 5 Minuten in der LabVIEW-Hilfe unter dem Stichwort "Fehlerbeschreibung" herungstöbert. Da habe ich aber so viel mitbekommen, daß Dein Problem:
Zitat:Was nützen dann eigene Fehlercodes nebst -meldungen, wenn sie ein vi über meinem schon nicht mehr bekannt sind? Sobald irgendjemand "meine" vis einsetzt, bekommt er doch immer die Meldung, der Fehlercode ist nicht bekannt
von seiten von LabVIEW gelöst ist. Siehe z.B. diesen Text:
Es scheint also zwei völlig unterschiedliche Methoden für den Umgang mit eigenen Fehlern zu geben. Zum Einen mit den Arrays im allgemeinen Fehlerbehandler, so wie Du es gemacht hast. Und zum Andern im Hauptmenü unter Werkzeuge/ Fortgeschritten/ Fehlercodes bearbeiten. Wahrscheinlich ist nur mit der zweiten Methode Dein Problem in den Griff zu bekommen. Aber bitte korrigiert mich, wenn ich etwas Falsches sage.
13.08.2008, 08:28 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2008 08:29 von RoLe.)
Ich habe diesen Errordialog immer am ende des Programmes und 1x im ganzen Prog.
Bei einem Fehler, werden die Schlaufen über den Error-True, beendet, und am ende kommt der Dialog.
Der Rest ist dann so wie Lucki zeigte.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
13.08.2008, 08:41 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2008 08:47 von Curtis Newton.)
aber dann muss ich doch immer für sorgen, dass die Datei mit den Fehlermeldung unter .../user.lib/errors liegt. Und die Fehlernummern nicht mit anderen kollidiert. Finde ich leicht unkomfortabel.
Ich habe ein paar vis entwickelt, die würde ich gerne anderen anbieten, also keine kompletten Programme. Und bei den Buildspecs zu einem Quellcodeprojekt gibt es keine Option, eigene Errorhandlers zu installieren.