Oh I'm sorry.
Here is the Code...
Document doc2 = Application.DocumentManager.MdiActiveDocument;
DocumentLock dLock = doc2.LockDocument();
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
Database db = HostApplicationServices.WorkingDatabase;
Autodesk.AutoCAD.DatabaseServices.TransactionManager tm = db.TransactionManager;
BlockTable bt = tm.GetObject(db.BlockTableId, OpenMode.ForRead, false) as BlockTable;
string Name; //Layoutname
Autodesk.AutoCAD.DatabaseServices.LayoutManager lm = Autodesk.AutoCAD.DatabaseServices.LayoutManager.Current;
Transaction t2 = tm.StartTransaction();
try
{
lm.CreateLayout(Name);
lm.CurrentLayout = Name;
Autodesk.AutoCAD.DatabaseServices.ObjectId objId = lm.GetLayoutId(Name);
lay = (Layout)t2.GetObject(objId, OpenMode.ForWrite);
CreatePagesetup(db, tm, lay);//
r = (BlockTableRecord)t2.GetObject(lay.BlockTableRecordId, OpenMode.ForWrite);
//List
VPDELLIST = new List();
//VPDELLIST.Clear();
Autodesk.AutoCAD.DatabaseServices.ObjectIdCollection IDColl = new Autodesk.AutoCAD.DatabaseServices.ObjectIdCollection();
IDColl.Clear();
foreach (Autodesk.AutoCAD.DatabaseServices.ObjectId VPID in lay.GetViewports())
{
IDColl.Add(VPID);
}
Viewport vpdel = new Viewport();
foreach (Autodesk.AutoCAD.DatabaseServices.ObjectId VPID in IDColl)
{
//Here is the Problem. When I erase the Viewport everthing seems to be right. Viewport isn't shown. But when I enter the Layoutmanager after the Function is completed, it crashes...
vpdel = (Viewport)t2.GetObject(VPID, OpenMode.ForWrite);
vpdel.Erase();
}
CreateViewport(r, lay, db, tm, ed, LayoutTyp, Geschoss);
ed.Regen();
IDColl.Dispose();
t2.Commit();
vpdel.Dispose();
}
catch
{
t2.Abort();
System.Windows.Forms.MessageBox.Show("Fehler!", "Abbruch");
}
finally
{
t2.Dispose();
}
tm.Dispose();
dLock.Dispose();
Thanks...