From d256f84735b75529a640ca61384c3c55b557fce9 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期一, 12 五月 2025 16:22:57 +0800
Subject: [PATCH] 1. 修复日志时顺问题 2. 解决远程路径不存在编译报错的问题
---
SourceCode/Bond/Servo/LogDlg.cpp | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/SourceCode/Bond/Servo/LogDlg.cpp b/SourceCode/Bond/Servo/LogDlg.cpp
index 04a2781..74fe0f2 100644
--- a/SourceCode/Bond/Servo/LogDlg.cpp
+++ b/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()
--
Gitblit v1.9.3