Autor
|
Thema: Update Fehler (706 mal gelesen)
|
tubuibam Mitglied
Beiträge: 93 Registriert: 10.11.2013 Intel Core i5- 2.6Ghz, 4GB Ram, Intel HD Grafik 4000 Windows 7, Catia V5 R19
|
erstellt am: 07. Aug. 2015 10:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, in meinem Makro gibt es den Befehl Part.Update. Wenn man die vorherigen Schritte nicht richtig bedient, dann bleibt es an der Stelle hängen. Jetzt möchte ich den Fehler fangen, z.B nach dem Part.Update, falls es eine Error gibt, dann springt er aus dem Sub, und zurück zu dem aktuellen Stand, damit der Benutzer noch mal richtig bedienen kann. Problem ist, wenn ich z.B nach dem Part.Update etwas dazu schreibt (z.B "If Err.number <>0", dann stoppt der Makro schon bei dem Update, und diese If Schleife wird nicht gemacht) Hätte jemand eine Idee, wie man hier mit ein Error umgeht? Auf jeder Hilfe bin ich sehr dankbar. VG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 07. Aug. 2015 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für tubuibam
Hallo tubuibam, So geht's vermutlich nicht. Wie wär's, wenn Du Fehleingaben ausschliesst? Zeigt mal, was Du bisher programmiert hast. Tschau, Joe ------------------ The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence. ~Charles Bukowski Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tubuibam Mitglied
Beiträge: 93 Registriert: 10.11.2013 Intel Core i5- 2.6Ghz, 4GB Ram, Intel HD Grafik 4000 Windows 7, Catia V5 R19
|
erstellt am: 07. Aug. 2015 11:36 <-- editieren / zitieren --> Unities abgeben:
Hi Joe, danke für deine Antwort. Der Code ist ziemlich lang, also eine kurze Zusammenfassung dafür ist: Man klickt die Punkte durch, gewählte Punkte werden dann in einem Vorschau dargestellt. Danach bei "Linie-Erstellen" Funktion wird dann eine Polyline mit vorgegebene Radius erstellt. Wenn der Anwender aber Punkte, die auf eine Linie liegen, wählt, dann gibt es Problem (Weil Radius ungleich 0 ist) Jetzt möchte ich die Möglichkeit haben, nach dem Erstellen und Update, Falls es Fehler gibt, kann man zurück in diesem Vorschau springen, und dann die Wahl Aktion weiter bearbeitet. (Erst mal möchte ich mich informieren, wie ich die Fallscheidung z.B "If Err ... Then... Exit Sub" haben kann) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Aug. 2015 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für tubuibam
Servus Meine Idee dazu. Um das update zu fahren ohne dass es bei einem Fehler stoppt brauchst du zB ein "on Error resume next". Danach könntest du mit einer Auswertung des "Err.number" oder "IsUpToDate" prüfen ob ein Fehler aufgetreten ist. Gruß Bernd Achtung: schnellstmöglich die Fehlerbehandlung mit "on Error goto 0" wieder einschalten ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tubuibam Mitglied
Beiträge: 93 Registriert: 10.11.2013 Intel Core i5- 2.6Ghz, 4GB Ram, Intel HD Grafik 4000 Windows 7, Catia V5 R19
|
erstellt am: 14. Aug. 2015 09:45 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für deine Antwort. Ich habe es probiert, mit einer Fallunterscheidung: If Error.number <>0 Then MsgBox("Sie haben es falsch bedient,...") Error.number = 0 Else Funktion läuft weiter End If Nach diese Funktion, springt der Makro wieder auf die Auswahl-Ebene, man kann nochmal auswählen, die Funktion noch mal bedienen. Ich dachte, dass ich die Anzahl von Fehler wieder auf 0 setze, und diese mal, wenn man richtig bedient, dann es gibt das MsgBox ("Sie haben es falsch bedient,...") nicht mehr (also Error.number auf 0, danach richtig bedient, Error.number bleibt weiter bei 0). Es ist aber nicht so, obwohl ich richtig bediene, gibt es das MsgBox immer wieder (anscheinend ist der Error.number anders als 0) Könntest du mir weiter helfen, wie ich die Error.number manipuliert auf 0 setzen kann? danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|