예제 #1
0
        void Scan()
        {
            bool showAllError = ShowAllError();

            //スキャン中
            MainTab.SelectedTab = tabPageScan;

            List <U.AddrResult> errorMapUI;

            using (InputFormRef.AutoPleaseWait pleaseWait = new InputFormRef.AutoPleaseWait(this))
            {
                errorMapUI = ScanWithoutUI(pleaseWait, showAllError);
            }

            if (errorMapUI.Count <= 0)
            {//エラーがないよ
                MainTab.SelectedTab = tabPageNoError;

                if (Program.AsmMapFileAsmCache != null)
                {//まれにすべてのエラーを解決しても、メインフォームが更新されない時があるので、喝入れを行う.
                    Program.AsmMapFileAsmCache.UpdateFELintCache_NoError();
                }

                if (OnNoErrorEventHandler != null)
                {
                    OnNoErrorEventHandler(this, new EventArgs());
                }
                return;
            }

            //エラーがあるよ.
            AddressList.BeginUpdate();
            AddressList.Items.Clear();
            foreach (U.AddrResult ar in errorMapUI)
            {
                AddressList.Items.Add(ar.name);
            }
            AddressList.Tag = errorMapUI;
            AddressList.EndUpdate();

            MainTab.SelectedTab = tabPageError;
            U.SelectedIndexSafety(AddressList, 0, true);

            if (OnErrorEventHandler != null)
            {
                OnErrorEventHandler(this, new EventArgs());
            }
        }