C# 试图从资源中读取或写入受保护内存。映像

C# 试图从资源中读取或写入受保护内存。映像,c#,C#,在后台,我使用DLL通过DMA汇集来自PCI-e总线的数据。如果我只运行DLL而不更新状态,我可以运行数小时 我收到以下例外情况: 试图读取或写入受保护的内存。这通常表示其他内存已损坏 当我试图从参考资料中更改按钮图像时,我收到了这个错误 代码: 或 异常不会一直出现 该命令是通过计时器获取的(System.Timers.timer)。听起来您试图从后台进程(即计时器)将某些内容加载到UI中,后台进程总是试图锁定主线程以进行绘制。你需要控制锁定,否则你会遇到锁定问题——特别是当你与你的应用程序交

在后台,我使用DLL通过DMA汇集来自PCI-e总线的数据。如果我只运行DLL而不更新状态,我可以运行数小时

我收到以下例外情况:

试图读取或写入受保护的内存。这通常表示其他内存已损坏

当我试图从参考资料中更改按钮图像时,我收到了这个错误

代码:

异常不会一直出现


该命令是通过计时器获取的(
System.Timers.timer
)。

听起来您试图从后台进程(即计时器)将某些内容加载到UI中,后台进程总是试图锁定主线程以进行绘制。你需要控制锁定,否则你会遇到锁定问题——特别是当你与你的应用程序交互或者你有长时间运行的主线程操作时

检查后台工作线程以运行DLL,因为这可能会解决您的问题

statusButton.Image=Resources.Status_Ok;
statusButton.Image=Resources.Status_Fail;