icon

Support Forum

[Frage] C0000005 Access Violation in PythonPart Interactor mit DrawElementPreview

Schlagworte:
  • Allplan
  • 2024
  • Interactor

Hallo,

ich erhalte in einem eigenen PythonPart Interactor wiederholt eine Access Violation und komme der Ursache nicht auf die Spur.

Fehlermeldung Beispiel:
Exception nr C0000005 -access violation is occured at 00007FFC4C64E3D5, while reading from address FFFFFFFFFFFFFFF9

Setup:
- Allplan 2024
- BaseInteractor mit Preview und Modifikationsmodus
- DrawElementPreview wird in process_mouse_msg aufgerufen (bei IsMouseMove)
- PythonPartGroup mit mehreren PythonParts, Geometrie aus JSON via GeometryStringValueConverter

Beobachtetes Muster:
- Ohne DrawElementPreview → Crash selten, aber gelegentlich vorhanden
- Mit DrawElementPreview in process_mouse_msg → deutlich häufiger
- Mit DrawElementPreview zusätzlich bei Palettenänderung → fast jedes Mal
- Nie zuverlässig reproduzierbar

Danke

Anhänge (3)

Typ: text/xml
0-mal heruntergeladen
Größe: 10,96 KiB
Typ: text/x-script.python
0-mal heruntergeladen
Größe: 21,41 KiB
Typ: text/x-script.python
0-mal heruntergeladen
Größe: 12,25 KiB

Geometrie aus JSON via GeometryStringValueConverter

Diese Geometrie ist offensichtlich falsch!
Da die Geometrie, z.B. Polyhedron beim Preview ungeprüft an die Graphicsengine weitergeleitet wird, kann eine defekte Punkten-oder Kantenliste diese Exception verursachen.

Allplan geht davon aus, dass alle Objekte, die zum "Preview" gelangen, aus dem Array (der Zeichnungs-Datenbank) kommen, und diese beim Schreiben in die Datenbank geprüft werden. Deshalb wird aus Performance-Gründen beim Preview die Geometrie nicht geprüft, sondern ungeprüft in den OpenGL-Treiber geschoben.

Das Problem ist dass ich die Geometrie direkt aus dem Tool SelectDrawingGeometryForPythonpart der Beispielscripts übernehme.
Kann die Geometrie die ich direkt aus dem Werkzeug übernehme denn Fehlerhaft sein?
Außerdem funktioniert die Preview grundsätzlich ja.
Der Fehler wird an verschiedensten Zeitpunkten geworfen, manchmal wenn ich die Parameter zurücksetze, manchmal wenn ich die Palette schließe usw. Nie aber zuverlässig bei der selben Aktion.

Anhänge (1)

Typ: video/mp4
1-mal heruntergeladen
Größe: 3,11 MiB