修改菜单加载逻辑

This commit is contained in:
zqm
2026-01-08 08:56:30 +08:00
parent 3b9dd2ca98
commit d1c4bcda42
2 changed files with 12 additions and 2 deletions

View File

@@ -125,10 +125,15 @@ namespace JoyD.Windows.CS.Toprie
{
_deviceManager.ProjectPath = _projectPath;
}
// ProjectPath改变时无论是否为自动配置都要加载菜单
LoadMenuConfig();
// 只有当自动配置开启时,才加载配置文件
if (_autoConfig && !_isConfigLoaded)
{
LoadAllConfigs();
LoadZoneConfig();
LoadTemperatureDiffConfig();
// 设置配置已加载标志
_isConfigLoaded = true;
}
@@ -332,6 +337,7 @@ namespace JoyD.Windows.CS.Toprie
/// </summary>
private void LoadAllConfigs()
{
LoadMenuConfig();
LoadZoneConfig();
LoadTemperatureDiffConfig();
}

View File

@@ -2250,7 +2250,11 @@ namespace JoyD.Windows.CS.Toprie
// 如果解析失败或长度不合理,使用默认值
if (payloadLength <= 0 || payloadLength > 1000000) // 合理性检查
{
Log($"警告: 从头部解析的payload长度不合理 ({payloadLength}),使用默认值");
// 提取原始4个字节不作字节序变换
byte[] rawBytes = new byte[4];
Array.Copy(headerData, 5, rawBytes, 0, 4);
string hexString = BitConverter.ToString(rawBytes).Replace("-", "");
Log($"警告: 从头部解析的payload长度不合理 ({hexString}={payloadLength}),使用默认值");
payloadLength = WIDTH * HEIGHT * 2; // 使用默认分辨率计算
}
}