试图从Resources.Image读取或写入受保护的内存

本文关键字:受保护 内存 读取 Resources Image | 更新日期: 2023-09-27 18:05:06

在后台,我使用DLL通过DMA从PCI-e总线池化数据。如果我只运行DLL而不更新状态,我可以运行几个小时。

我收到以下异常:

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

当我尝试从资源中更改按钮图像时收到此错误。

代码:

statusButton.Image=Resources.Status_Ok;

statusButton.Image=Resources.Status_Fail;

异常不会一直出现!

命令为定时器取(System.Timers.Timer)

试图从Resources.Image读取或写入受保护的内存

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

检查后台工作线程来运行您的DLL - http://www.codeproject.com/Articles/841751/MultiThreading-Using-a-Background-Worker-Csharp -因为这可能会解决您的问题。

相关文章: