修复Camera.cs中的TemperatureDataReceived事件名称错误
This commit is contained in:
@@ -31,6 +31,11 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
// 信息图像,用于显示额外信息
|
// 信息图像,用于显示额外信息
|
||||||
private Image _infoImage = null;
|
private Image _infoImage = null;
|
||||||
|
|
||||||
|
// 最近一次获取到的温度数据
|
||||||
|
private TemperatureData _lastTemperatureData = null;
|
||||||
|
// 用于保护_lastTemperatureData的线程锁
|
||||||
|
private readonly object _lastTemperatureDataLock = new object();
|
||||||
|
|
||||||
// 用于保护_lastImage的线程锁
|
// 用于保护_lastImage的线程锁
|
||||||
private readonly object _lastImageLock = new object();
|
private readonly object _lastImageLock = new object();
|
||||||
|
|
||||||
@@ -63,9 +68,53 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
{
|
{
|
||||||
_deviceManager.ProjectPath = _projectPath;
|
_deviceManager.ProjectPath = _projectPath;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取最近一次接收到的温度数据
|
||||||
|
/// </summary>
|
||||||
|
public TemperatureData LastTemperatureData
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
lock (_lastTemperatureDataLock)
|
||||||
|
{
|
||||||
|
return _lastTemperatureData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设备管理器温度数据接收事件处理
|
||||||
|
/// </summary>
|
||||||
|
private void DeviceManager_TemperatureReceived(object sender, DeviceManager.TemperatureReceivedEventArgs e)
|
||||||
|
{
|
||||||
|
if (DesignMode) return;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 确保事件参数有效
|
||||||
|
if (e == null || e.TemperatureData == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("接收到无效的温度数据事件参数");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新最近一次温度数据
|
||||||
|
lock (_lastTemperatureDataLock)
|
||||||
|
{
|
||||||
|
_lastTemperatureData = e.TemperatureData;
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("温度数据已更新");
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"处理接收到的温度数据时出错: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 显示错误的定时器
|
// 显示错误的定时器
|
||||||
|
|
||||||
@@ -340,6 +389,9 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
|
|
||||||
// 注册连接异常事件
|
// 注册连接异常事件
|
||||||
_deviceManager.ConnectionException += DeviceManager_ConnectionException;
|
_deviceManager.ConnectionException += DeviceManager_ConnectionException;
|
||||||
|
|
||||||
|
// 注册温度数据接收事件
|
||||||
|
_deviceManager.TemperatureReceived += DeviceManager_TemperatureReceived;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -985,6 +1037,13 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 当TCP连接断开时,将最近一次温度数据实例设为null
|
||||||
|
lock (_lastTemperatureDataLock)
|
||||||
|
{
|
||||||
|
_lastTemperatureData = null;
|
||||||
|
Console.WriteLine("温度数据实例已清空");
|
||||||
|
}
|
||||||
|
|
||||||
// 设置连接状态后,调用更新Info
|
// 设置连接状态后,调用更新Info
|
||||||
UpdateInfo();
|
UpdateInfo();
|
||||||
|
|
||||||
@@ -1627,6 +1686,13 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
_deviceManager.ImageReceived -= DeviceManager_ImageReceived;
|
_deviceManager.ImageReceived -= DeviceManager_ImageReceived;
|
||||||
_deviceManager.ConnectionStatusChanged -= DeviceManager_ConnectionStatusChanged;
|
_deviceManager.ConnectionStatusChanged -= DeviceManager_ConnectionStatusChanged;
|
||||||
_deviceManager.ConnectionException -= DeviceManager_ConnectionException;
|
_deviceManager.ConnectionException -= DeviceManager_ConnectionException;
|
||||||
|
_deviceManager.TemperatureReceived -= DeviceManager_TemperatureReceived;
|
||||||
|
|
||||||
|
// 释放温度数据资源
|
||||||
|
lock (_lastTemperatureDataLock)
|
||||||
|
{
|
||||||
|
_lastTemperatureData = null;
|
||||||
|
}
|
||||||
// 释放设备管理器资源
|
// 释放设备管理器资源
|
||||||
_deviceManager.Dispose();
|
_deviceManager.Dispose();
|
||||||
_deviceManager = null;
|
_deviceManager = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user