Ohne den Code zu sehen, mit dem der Block eingefügt wurde bzw. mit dem versucht wird, ihn zu löschen, ist das schwierig zu beantworten
Wie wird versucht, den Block zum Schreiben zu öffnen? acdbOpenObject?
Wenn ja, einfach mal den Rückgabewert der Funktion anschauen...
Im Moment würde ich denken, daß der Block nach der Erzeugung nicht geschlossen wurde, weswegen er nicht erneut geöffnet werden kann...
Unter diesen Umstäden würde der acdbOpenObject mit einem eWasOpenForRead bzw. eWasOpenForWrite zurückkommen...
Denn eigentlich lässt sich jede AcDbEntity (auch eine Blockreferenz ist eine Entity) immer gleich löschen, bzw. unsichtbar machen:
Zum schreiben öffnen:
(acdbOpenObject(pEnt, idEnt, AcDb::kForWrite))
löschen:
pEnt->erase();
(bzw. unsichtbar machen:
pEnt->setVisibility(AcDb::kInvisible);
)
Und wieder schliessen:
pEnt->close();
[Diese Nachricht wurde von Heimdall am 14. Feb. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP