Beispiel #1
0
 protected void Dispose(bool Disposing)
 {
     if (!IsDisposed)
     {
         if (Disposing)
         {
             //清理托管资源
         }
         //清理非托管资源
         m_engine.Close();
         m_engine = null;
     }
     IsDisposed = true;
 }
Beispiel #2
0
        /// <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;  
 }