| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: trap_error (865 mal gelesen)
|
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 09. Feb. 2007 09:20 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe offensichtlich ein Verständnisproblem, was die Funktion trap_error angeht: ich habe in einem Makro, mit dem u. a. ein dwg-file erstellt wird, vor diesem "store dwg..." ein trap_error gesetzt, um eine Fehlermeldung zu unterdrücken, die häufig durch Splines ausgelöst wird. Das funktioniert offensichtlich auch. Dahinter habe ich ein check_error gesetzt, um diese Unterdrückung wieder aufzuheben. Nun habe ich zur Kontrolle dieses trap_error mal wieder rausgenommen und das Makro nochmal laufen lassen. Und es wird nach wie vor keine Fehlermeldung gebracht. Nach einem Programmneustart liefert dieselbe Datei aber wieder die Fehlermeldung. Ich dachte, mit check_error schaltet man die Meldungen wieder ein? Aber offensichtlich mache ich da was falsch. Kann mir da jemand auf die Sprünge helfen? Vielen Dank schon mal. Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 09. Feb. 2007 11:07 <-- editieren / zitieren --> Unities abgeben:
Hai! Okay, ich habe ein paar Fehler gefunden: 1. ist das hier das falsche Forum. Gehört eigentlich ins Programmierforum. 2. sollte man eben dort auch mal nachlesen. Da finden sich mehr entsprechende Einträge als hier. und 3. muss ich das check_error wohl mit einer if-Abfrage verbinden. Mit dem üblichen if(check_error) geht's jedenfalls. Nichts für ungut. Viele Grüße nochmals Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 my 1st Version: ME10V9.00 aktiv: (PTC) CoCreate Drafting 2007 mit DrawingManager WUI
|
erstellt am: 12. Feb. 2007 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
Hallo Tom Ich habe die selbe Erfahrung gemacht, dass man quasi den Wert den CHECK_ERROR ergibt, irgendwie auslesen muss (mit IF...), damit das TRAP_ERROR wieder abgeschaltet wird.... Habe lange gepröbelt bis ich das raus hatte. (Leidensgenosse )
schönen Gruss ------------------ Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 12. Feb. 2007 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
hallo zusammen, CHECK_ERROR macht ja auch nur Sinn im Zusammenhang mit einer IF-Anweisung. Wenn da ein Fehler aufgetreten ist, dann muss ein gutes Makro doch reagieren! TRAP_ERROR -mache was und reagiere bei Fehler sehr tolerent IF (CHECK_ERROR) =1 oder =0 kann man sich sparen, da CHECK_ERROR bei Fehlrer =1 -reagiere! -hinterlasse einen Eintrag im log-File -übergehe die weitere Berarbeitung (sonst werden weitere Fehler folgen) END_IF Es gibt aber auch Fehler, die ein Makro trotz TRAP_ERROR zum Unterbrechen führen. Denke, da muss man etwas experimentieren und Erfahrungen sammeln. Doch jeder LOAD und STORE in einem Makro von mir fange ich immer mit TRAP_ERROR ab. Könnte ja sein, dass jemand seine Excel-Dateien laden will. ;-) ------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 12. Feb. 2007 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
Mahlzeit! ist auch im Manual zu sehen: Zitat: CHECK_ERROR ===> Zahl Das System gibt eine 1 zurück, falls einer oder mehrere Fehler ...
Falls egal ist, ob ein Fehler auftritt, reicht ja ein einfaches: IF (CHECK_ERROR) END_IF zB: alle Texte mit einem bestimmten Infos löschen; falls es schon gar keine solchen Texte mehr gibt, würde ein Fehler auftreten:
Code: TRAP_ERROR DELETE GLOBAL TEXTS INFOS "xyz" END IF (CHECK_ERROR) END_IF
Gruss aus Österreich, Hannes ------------------ und mia haun jetzt in huad drauf und mia dringan no a bia und mogst du söwa a nu ans sogs eam owa ned mia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |