protected void Dispose(bool Disposing) { if (!IsDisposed) { if (Disposing) { //清理托管资源 } //清理非托管资源 m_engine.Close(); m_engine = null; } IsDisposed = true; }
/// <summary> /// 分析错误文本, 找出有用的信息存入Log /// </summary> private string ParserErrorString(Exception e) { Regex r1 = new Regex(@"在.*Module1:行号\s+(?<num>\S+)", RegexOptions.Multiline | RegexOptions.Compiled); string err = e.ToString(); if (r1.IsMatch(err)) { string errline = r1.Match(err).Value; string numstr = r1.Match(err).Groups["num"].Value; int n = VBAEngineBase.FixLineNumber(Convert.ToInt32(numstr.Trim())); string newerrline = errline.Replace(numstr, n.ToString()); Regex r2 = new Regex(@".*", RegexOptions.Compiled | RegexOptions.Multiline); string errhead = r2.Match(err).Value; return(errhead + Environment.NewLine + newerrline); } else { return(err); } }
protected void Dispose(bool Disposing) { if(!IsDisposed) { if(Disposing) { //清理托管资源 } //清理非托管资源 m_engine.Close(); m_engine = null; } IsDisposed=true; }