| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Speichern verursacht Memory Access Violation (480 mal gelesen)
|
Eonwe Mitglied
Beiträge: 84 Registriert: 10.11.2014 NX 12 mit ECTR
|
erstellt am: 30. Aug. 2023 17:15 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, vielleicht kann mir ein Experte hier weiterhelfen: Ich habe ein Programm, das abgespeckte Zeichnungen anhand der verfügbaren Hauptzeichnung von vielen Teilen erstellen soll. Dazu wird die Zeichnung kopiert, bearbeitet, abgespeichert und ins PDM-System hochgeladen, dann wird aus einem TXT die nächste Datei ermittelt und genauso bearbeitet. Aufgerufen wird das Programm über einen Blockstyler-Block. Beim Abspeichern der Zeichnung mit
Code: workpart.Save(BasePart.SaveComponents.False, BasePart.CloseAfterSave.False)
kommt nun eine Warnung, dass die Undo-Marks gelöscht wurden (soweit klar) und das Öffnen des nächsten Teils mit Code: Dim secondCheckDrawingPart As Part = CType(theSession.Parts.OpenActiveDisplay(secondCheckDrawingFullPath, DisplayPartOption.AllowAdditional, status), Part)
produziert eine "Memory Access Violation" Wenn ich das Speichern auskommentiere, läuft der Rest vom Code problemlos durch Hat jemand eine Idee, wo das Problem liegen könnte? Das gesamte Programm hat ca 1500 Zeilen, das ist vermutlich nicht sinnvoll hier reinzustellen. Danke schonmal! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 01. Sep. 2023 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für Eonwe
Hallo Eonwe, das ist nicht so ohne Weiteres zu beantworten ... Passiert das immer oder nur bei bestimmten Parts ? Falls ja, was machen die, wenn interaktiv gespeichert wird ? Gibt's einen Grund, warum das erste Part geöffnet bleibt ? Macht's einen Unterschied, wenn's geschlossen wird ? Was passiert, wenn anstatt OpenActiveDisplay eine andere Methode zum Öffnen verwendet wird ? ... .. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klemen Schuessler Mitglied
Beiträge: 3 Registriert: 28.09.2023 NX7.5 bis NX2306
|
erstellt am: 28. Sep. 2023 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für Eonwe
Hallo Eonwe, meiner Erfahrung nach ist das schließen/speichern... öffnen in Kombination mit BlockUIStyler Dialogen nicht so toll, unteranderem wegen dem Undo Speicher. Wenn möglich auf WinForms ausweichen oder speichern/öffnen etc. auslagern, nicht im Dialog aufführen, eventuell für jedes neue Teil den Dialog starten... Ansonsten gibt es erst ab der NX1953 nachfolgende Funktion. theSession.Parts.SetActiveDisplayRetainUndoMarks() In Kombination mit z.B. theUFSession.Part.OpenQuiet() klappt das meiner Erfahrung nach etwas besser mit dem BlockUISytler Dialogen. Grüße, Klemen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Vermessungsingenieure (m/w/d) | thyssenkrupp Marine Systems mit den Standorten Kiel, Hamburg, Bremen und Emden ist einer der führenden, global agierenden Systemanbieter beim Design und Bau von U-Booten und Marineüberwasserschiffen sowie im Bereich maritimer Sicherheitstechnologien. Mit modernster Technologie, umfassender Erfahrung im Schiffbau und mit einer innovativen Denkweise entwickeln unsere Teams und Marineexperten an allen Standorten qualitativ hochwertige Produkte und Dienstleistungen für unsere Kunden.... | Anzeige ansehen | Fertigung, Produktion |
|
Eonwe Mitglied
Beiträge: 84 Registriert: 10.11.2014 NX 12 mit ECTR
|
erstellt am: 28. Sep. 2023 15:51 <-- editieren / zitieren --> Unities abgeben:
Danke für die Hinweise. @Michael: Ja das passiert bei allen Teilen, interaktiv ist alles kein Problem, das hängt irgendwie mit dem BlockStyler zusammen. Offen bleibt das Part, weil es sich vom Programmablauf so ergeben hat, ob ein Schließen was ändert muss ich probieren. Ich hab jetzt das File Handling (speichern und schließen) ganz ans Ende verschoben, dann bricht am Ende des Programms der BlockStyler mit Fehlermeldung zusammen. Da der Durchlauf aber abgeschlossen ist, ist der Zustand erstmal akzeptabel. @Klemen: Um die Fehlermeldung endgültig wegzubekommen, wäre das wohl die einzige Möglichkeit. Vielleicht schaffen wir aber auch nächstes Jahr den Umstieg auf continuous release, so dass ich die neue Funktion nutzen kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|