Autor
|
Thema: eigenartiger Automatisierungsfehler (3840 mal gelesen)
|
romanoir2005 Mitglied
Beiträge: 62 Registriert: 22.02.2005
|
erstellt am: 06. Jun. 2005 10:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen ! Mir ist seit geraumer Zeit ein für mich nicht nachvollziehbarer Fehler im CATIA aufgefallen, und wollte mal hören ob hier schonmal jemand sowas gehabt hat und vielleicht weiss wie man am besten damit umgeht. Also das Problem wir von folgendem Code ausgelöst: Dim sel as Selection Set sel=CATIA.ActiveDocument.Selection Dies löst MANCHMAL einen "Automatisierungsfehler: Ausnahmefehler des Servers" aus. Wenn ich den Fehler dann abfange (mit "on Error ...") und 2 mal ignoriere gehts danach entweder wieder einwandfrei oder CATIA schmiert gleich ganz ab. Der Fehler ist auch nicht reproduzierbar, d.h. er tritt einmal auf, ein ander mal läuft alles problemlos. Allgemein fällt mir auf, dass je länger der Catia Prozess am Laufen ist die Wahrscheinlichkeit steigt dass dieser Fehler auftritt. Mir ist auch aufgefallen, dass CATIA für die Funktion AddNewPointOnCurveFromPercent dann wesentlich länger braucht als am Anfang. Als Hinweis vielleicht noch: Ich arbeite an der Stelle an der der Fehler gelegentlich auftaucht viel mit Copy und PasteSpecial. In diesem Zusammenhang legt CATIA irgendwelche Obskuren Dokumente mit namen ccp_dummy*_Format_CatPrt* im Hintergrund an. Vielleicht hat das ja was damit zu tun ? Also, wäre nett wenn jemand mehr Licht ins dunkel bringen könnte. Dank Euch, r. P.S: der Fehler tritt in R12, R14 und R14SP3 auf (andere versionen hab ich nicht probiert)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MaxZ Mitglied Computer Aided Designer
Beiträge: 125 Registriert: 24.05.2005 V5 R16
|
erstellt am: 09. Jun. 2005 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
So einen Fehler produzier ich auch zur Zeit. Bei mir entsteht er allerdings in einer selectelement2-zeile. ein- bis zweimal wiederholen, dann gehts entweder oder CATIA schließt sich einfach. gibts eigntlich session-log-files in denen man mal etwas nach den fehlern stöbern kann?
oder hat jemand schon ne Lösung? Ciao Max V5R12 Was ich noch vergessen hab: Es kann auch sein, dass sich CATIA nicht schließt, sondern einfach nur auf "Sanduhr" bleibt und nicht mehr ansprechbar ist. Der Task Manager muss die Situation dann klären. [Diese Nachricht wurde von MaxZ am 09. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MaxZ Mitglied Computer Aided Designer
Beiträge: 125 Registriert: 24.05.2005
|
erstellt am: 10. Jun. 2005 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
der fehler (runtime error -2147417848 (80010108)) im zusammenhang mit selectelement2 taucht nicht mehr auf wenn selection1.endselectelement das selectelement2 beendet. (bei mir zumindest ) ciao max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christrukteur Mitglied Ingenieur
Beiträge: 8 Registriert: 16.04.2010 CATIA V5R19 unter XP
|
erstellt am: 05. Aug. 2010 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo, bei mir gibt es auch immer wieder diese Ausnahmefehler, bzw. schaffe ich es nicht das ganze Programm einmal durchlafuen zulassen ohne Ausnahmefehler. Bei mir stürzt er immer beim schließen eines Fensters ab: catia.StartCommand("Measure Inertia") window1 = catia.ActiveWindow window1.Close Dann stürzt er eben ab. Hat jemand dafür eine Erklärung oder einen Workaround? Wäre echt super und sehr, sehr wichtig für mich. Das Programm muss stabil laufen sonst komme ich nicht weiter...
MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 05. Aug. 2010 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo Chris, wenn du mit catia.startcommand arbeitest, musst du entweder eine Warteschleife einbauen, die auf das Fenster wartet oder, die zwar schlechtere Methode aber zum Testen schnellst, du wartest nach dem Befehl z.B. 20 Sekunden. Das Programm läuft nämlich direkt weiter... Demnach versucht das Programm einen Bruchteil einer Sekunde nach dem Aufruf von startcommand direkt das aktive Fenster zu schließen. Das dürfte aber nicht das "Measure Inertia" sein, sondern das Modell. Das kann er aber nicht schließen, da hierfür gerade eine Funktion aufgerufen wird... usw. Ergänzung: Oder gehe die Funktionfolge einfach mal langsamer via F8 Schrittweise durch. Ich gehe davon aus, dass das funktionieren dürfte ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities [Diese Nachricht wurde von RSchulz am 05. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christrukteur Mitglied Ingenieur
Beiträge: 8 Registriert: 16.04.2010 CATIA V5R19 unter XP
|
erstellt am: 06. Aug. 2010 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo, ja mit dem durchsteppen funktionierts. Allerdings nicht mit einer Pausenfunktion. Wenn ich nacd der Messung 20 Sekunden warte stürzt er beim Versuch das Fenster zu schließen immer noch ab. Ich glaube es liegt doch an was anderem... Kann aber überhaupt nicht sagen woran. Jemand Ideen? Wäre echt nett. MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 06. Aug. 2010 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo , das was du versucht MUSS zu einem Laufzeitfehler respektive Software-Interrupt führen. CATIA.ActiveWindow ist das Fensterobjekt eines CATIA Fensters. Ein CATIA Fenster ist aber kein PopUp-Dialog Fenster (wie z.B. die Messfunktion). Um diese PopUp Fenster zu schließen bedarf es ein wenig mehr Code und auch ein bisschen VBA Erfahrung und KnowHow. Die PopUp Fenster von CATIA sind ChildWindows des Desktops. Auf diese hast du mit den Windows API´s GetDesktopWindow, GetChildWindows und GetWindowText Zugriff. Da der Titel (Caption) des PopUp Fensters aber sprachumgebungsabhängig ist musst du diese vorher auch noch auslesen. Wenn du das alles hast bekommst du eine Enumeration alles Kinder-Fenster des Desktops. Diese kannst du dann nach dem Titel (also der Caption) absuchen. Hast du das Messen-Fenster von CATIA gefunden kannst du den Handle ermitteln und auch zerstören. Daraus folgt das du das Messen-Fenster schließen kannstt ohne einen Software-Interrupt (und somit einen Absturz) zu produzieren. Bei weiteren Fragen habe ich sogar noch einen alten Codeschnipsel für dich. Das ist aber wie gesagt nicht ganz so trivial ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jojo6881 Mitglied
Beiträge: 1 Registriert: 12.08.2010
|
erstellt am: 12. Aug. 2010 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
|
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 13. Aug. 2010 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 17. Aug. 2010 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo Daniel, mich würde mal interessieren, wie Du dann damit umgehst, wenn zwei Fenster den gleichen Namen haben. Zusätzlich wollt' ich mal anregen dass es es eventuell praktikabler wäre das hWnd auszulesen, statt dem Namen, aber das ist nur ein Optimierungsvorschlag. Ansonsten gefällt mir die Idee recht gut. Problem wird aber das Zeitfenster bleiben, da Polling hier zu viel Prozessorauslastung verursacht. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 17. Aug. 2010 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Zitat: Original erstellt von HoBLila: Hallo Daniel,mich würde mal interessieren, wie Du dann damit umgehst, wenn zwei Fenster den gleichen Namen haben. Zusätzlich wollt' ich mal anregen dass es es eventuell praktikabler wäre das hWnd auszulesen, statt dem Namen, aber das ist nur ein Optimierungsvorschlag. Ansonsten gefällt mir die Idee recht gut. Problem wird aber das Zeitfenster bleiben, da Polling hier zu viel Prozessorauslastung verursacht.
Hallo Henry , zweimal das "Messen-Fenster" in einer CATIA Session zu öffnen ist nicht möglich . Wer zwei Sessions öffnet ist selber schuld . Im enteffekt geht es ja auch über das Window-Handle. Denn Namen des Fensters wirst du trotzdem brauchen. Du bekommst über die GetChildWindow API ja die Fenster-Collection raus. Diese musst du nach einem bestimmtem Kriterium durchsuchen. Und das ist nun mal die Caption des Fensters (welcher wie im ersten Satz erwähnt nur einmal vorkommen kann ). Mit dem Polling geb ich dir recht. Aber du kannst ja auch ein Event schreiben das abgefeuert wird sobald sich die Collection ändert. Dann hast du kein Performance-Problem mehr ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 17. Aug. 2010 15:06 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo Daniel, gut, wenn Du über die Child-Windows gehst sehe ich keine Probleme mehr. Bist halt schon zu gut für meine Überlegungen. Habe gerade die API FindWindow ausprobiert mit DoEvents, CATIA.RefreshDisplay = True und Sleep 100 habe ich keine wirklich messbare Prozessorlast und kann CATIA noch immer normal verwenden. Mit ner Schleife kann ich so genau den Punkt abfragen, wo ein Fenster wieder geschlossen wird. Aber meine mir auferlegte Aufgabenstellung war auch anders, denn ich wollte auf das schließen reagieren, hier muss ja nur ein Dialog geschlossen werden. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Projektmitarbeiter Produktionslogistik (m/w/d) | Mit unserer langjährigen Rekrutierungserfahrung und unseren Kenntnissen des Engineering-Personalmarktes bieten wir Fach- und Führungskräften aus dem Ingenieurwesen und dem technischen Umfeld eine starke Partnerschaft. Denn durch unsere intensiven Beziehungen und Netzwerke über alle Industriebranchen hinweg vermitteln wir Ihnen als Engineering-Fachleuten spannende Projekte und attraktive Positionen.... | Anzeige ansehen | Prozessmanagement |
|
Christrukteur Mitglied Ingenieur
Beiträge: 8 Registriert: 16.04.2010 CATIA V5R19 unter XP
|
erstellt am: 30. Aug. 2010 11:46 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
|