private string LoadOneObject(String obj)
        {
            try
            {
                this.SapSysName = cboxSystemList1.Text;
                if (String.IsNullOrEmpty(SapSysName))
                {
                    MessageBox.Show("请选择系统");
                    return(string.Empty);
                }
                else
                {
                    this.AbapCode = new SAPINT.Utils.ABAPCode(SapSysName);
                    var codes = AbapCode.GetSourceCode(obj);


                    var sb = new StringBuilder();

                    codes.ForEach(x => sb.AppendLine(x));
                    var s = sb.ToString();


                    //   this.syntaxBoxControl1.Document.Text = s;
                    return(s);
                }
            }


            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(string.Empty);
        }
        private bool LoadObjectFromSap(BackgroundWorker bw, bool Saved = true)
        {
            List <Code>            list = new List <Code>();
            Dictionary <int, Code> pos  = new Dictionary <int, Code>();

            this.AbapCode = new SAPINT.Utils.ABAPCode(SapSysName);
            var itemCount = 0;
            var processed = 0;

            var m_isCacelling = false;

            foreach (DataRow item in dt.Rows)
            {
                if (this.backgroundWorker1.CancellationPending)
                {
                    m_isCacelling = true;
                }
                if (String.IsNullOrWhiteSpace(item["Select"].ToString()))
                {
                    continue;
                }
                var isSelect = (bool)item["Select"];
                if (isSelect)
                {
                    var obj = item["NAME"].ToString();
                    if (String.IsNullOrEmpty(obj))
                    {
                        continue;
                    }

                    var codes = AbapCode.GetSourceCode(obj);

                    var sb = new StringBuilder();

                    codes.ForEach(x => sb.AppendLine(x));
                    item["Lines"] = codes.Count;


                    var abapCode = sb.ToString();
                    item["Length"] = Util.FileUtil.FormatFileSize(abapCode.Length);
                    item["Header"] = abapCode;

                    if (String.IsNullOrEmpty(abapCode))
                    {
                        continue;
                    }
                    var comments = new StringBuilder();
                    foreach (var comment in codes)
                    {
                        if (comment.StartsWith("*"))
                        {
                            comments.AppendLine(comment);
                        }
                        if (comments.ToString().ToList().Count > 10)
                        {
                            break;
                        }
                    }
                    Code code = new Code();

                    code.Content = abapCode;
                    code.Desc    = comments.ToString();
                    code.Title   = obj;
                    if (!String.IsNullOrEmpty(this.TreeId))
                    {
                        code.TreeId = TreeId;
                    }
                    list.Add(code);
                    var index = int.Parse(item["Index"].ToString());
                    pos.Add(index, code);
                    var pTime = new System.TimeSpan(pauseTime);
                    Thread.Sleep(pTime);//必须暂停,因为在SAP系统中读取程序不会那么快。
                    //每100行保存一次
                    itemCount++;
                    if (itemCount == 100 && dt.Rows.Count >= 100 && m_isCacelling == false)
                    {
                        if (true == Saved)
                        {
                            this.cbxDbSources.Enabled = false;
                            db.SaveCodeList(list);
                            this.cbxDbSources.Enabled = true;
                        }
                        foreach (var positem in pos)
                        {
                            dt.Rows[positem.Key]["CodeId"] = positem.Value.Id;
                            dt.Rows[positem.Key]["Select"] = false;
                        }
                        pos.Clear();
                        list.Clear();
                        itemCount = 0;
                    }
                    else
                    {
                        if (true == Saved)
                        {
                            this.cbxDbSources.Enabled = false;
                            db.SaveCodeList(list);
                            this.cbxDbSources.Enabled = true;
                        }

                        foreach (var positem in pos)
                        {
                            dt.Rows[positem.Key]["CodeId"] = positem.Value.Id;
                            dt.Rows[positem.Key]["Select"] = false;
                        }
                        pos.Clear();
                        list.Clear();
                        itemCount = 0;
                    }
                    processed++;
                    ImportMessage m = new ImportMessage()
                    {
                        current = processed, total = selectedItems, progName = obj
                    };
                    bw.ReportProgress(processed, m);
                    //如果要取消,保存后退出.
                    if (m_isCacelling == true)
                    {
                        break;
                    }
                }
            }
            return(true);
            //if (db.SaveCodeList(list))
            //{
            //    foreach (var item in pos)
            //    {
            //        dt.Rows[item.Key]["CodeId"] = item.Value.Id;
            //    }
            //    return true;
            //}
            //else
            //{
            //    return false;
            //}
        }