C#.NET 批量处理问题

在移植AutoCad批量处理插件打开多个文件时,会出现错误“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”,请问如何解决这一问题?

 [CommandMethod("GetSupportMaterial", CommandFlags.Session)]

public static void GetSupportMaterial()
{
try
{
string[] files = Getfiles();
if (files == null)
{
return;
}
DocumentCollection acDocMgr = Application.DocumentManager;
List errList = new List();
foreach (string fullName in files)
{
Document acNewDoc = acDocMgr.Open(fullName);
//从第二个文件开始报错:
//System.AccessViolationException
//HResult = 0x80004003
//Message = 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
//Source =< 无法计算异常源 >
//StackTrace:
//< 无法计算异常堆栈跟踪 >
acDocMgr.MdiActiveDocument = acNewDoc;
using (DocumentLock acLckDoc = acNewDoc.LockDocument())
{

}
acNewDoc.CloseAndDiscard();
}

}
catch(System.Exception ex)
{
throw ex;
}
}

已邀请:

lena

赞同来自:

浩辰CAD开发者问题处理渠道 https://www.gstarcad.com/ask/question/66944

您问题直接发送一下邮件

该问题目前已经被锁定, 无法添加新回复