mrDarker
2025-05-12 d256f84735b75529a640ca61384c3c55b557fce9
SourceCode/Bond/Servo/LogDlg.cpp
@@ -40,7 +40,6 @@
BEGIN_MESSAGE_MAP(CLogDlg, CDialogEx)
   ON_WM_CTLCOLOR()
   ON_WM_SIZE()
   ON_WM_TIMER()
   ON_WM_DESTROY()
   ON_WM_CLOSE()
   ON_NOTIFY(BLBUTTON_MENU_ITEM_CLICKED, IDC_BUTTON_LEVEL, &CLogDlg::OnButtonLevelMenuClicked)
@@ -106,7 +105,6 @@
BOOL CLogDlg::OnInitDialog()
{
   CDialogEx::OnInitDialog();
   SetTimer(1, 3000, nullptr);
   // 缓存
@@ -160,7 +158,25 @@
   m_logEdit.SetLimitText(-1);
   //InitRxWindow();
   std::thread([this]() {
      constexpr int nMaxWaitMs = 3000;  // 最多等待 3 秒
      constexpr int nStepMs = 1;        // 每次等待 1ms
      int nElapsed = 0;
      while (nElapsed < nMaxWaitMs) {
         if (theApp.m_model.getObservable() != nullptr) {
            InitRxWindow();
            return;
         }
         std::this_thread::sleep_for(std::chrono::milliseconds(nStepMs));
         nElapsed += nStepMs;
      }
      // 超时也可以发消息记录下日志
      TRACE(_T("InitRxWindow 超时,未执行\n"));
   }).detach();
   Resize();
@@ -173,14 +189,6 @@
   CDialogEx::OnSize(nType, cx, cy);
   if (GetDlgItem(IDC_EDIT_LOG) == nullptr) return;
   Resize();
}
void CLogDlg::OnTimer(UINT_PTR nIDEvent)
{
   if (1 == nIDEvent) {
      KillTimer(1);
      InitRxWindow();
   }
}
void CLogDlg::Resize()