修改菜单加载逻辑
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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; // 使用默认分辨率计算
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user