社区
C#
帖子详情
尝试读取或写入受保护的内存,这通常指示其他内存已损坏
cctvsoft
2006-10-20 12:05:47
我用C#做的一个软件,打完包安装后,当单击输出报表的按钮时,出现下面的提示:
“尝试读取或写入受保护的内存,这通常指示其他内存已损坏 ”
但是,我在开发环境中运行却没有问题,并且有的电脑有这问题,有的电脑没有问题。
那个提示,是我在操作Excel的一个类中捕获到的,各位大侠帮忙啊!
那个类的代码如下:
...全文
415
6
打赏
收藏
尝试读取或写入受保护的内存,这通常指示其他内存已损坏
我用C#做的一个软件,打完包安装后,当单击输出报表的按钮时,出现下面的提示: “尝试读取或写入受保护的内存,这通常指示其他内存已损坏 ” 但是,我在开发环境中运行却没有问题,并且有的电脑有这问题,有的电脑没有问题。 那个提示,是我在操作Excel的一个类中捕获到的,各位大侠帮忙啊! 那个类的代码如下:
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cctvsoft
2006-10-23
打赏
举报
回复
这个问题我自己已经解决了,是我引用的Excel版本的问题。
csrwgs
2006-10-21
打赏
举报
回复
把程序需要的资源都放在程序所在目录下面
不要调用%System%下面的。
因为有的机子没装
Nara
2006-10-21
打赏
举报
回复
F10...
owennol
2006-10-20
打赏
举报
回复
这种错误一般是数组越界之类
cctvsoft
2006-10-20
打赏
举报
回复
class Reports
{
/****************************************************字段***************************************************/
private string m_strExcelParch; //Excel模板文件的存放路径
private string m_strExcelName; //Excel模板文件的名称
private string m_strHeaders; //输出报表的表头名称
private string m_strBillID; //单据的ID
private string m_strDate; //字符串型日期
private string m_strExcelTitle; //输出报表的标题
private static int m_intFlag = 0; //为了不出现重复的Excel文件名,当次打开软件的标题=标题+m_intFlag由0开始美打开一个增加1
public static string m_strExeParch; //Exe文件的存放目录
private DateTime m_DT; //日期型日期
private Excel.Application m_xslApplication;//一个Excel文件对象
private System.Data.DataTable m_dtReport; //要填充Excel文件的数据表
/****************************************************构造函数or方法**********************************************************/
/// <summary>
/// 初始化一个报表信息
/// </summary>
/// <param name="p_strExcelName">Excel模板文件的名称</param>
/// <param name="p_dtReport">要填充Excel文件的数据表</param>
/// <param name="p_strHeaders">输出报表的表头名称</param>
/// <param name="p_strBillID">单据的ID</param>
/// <param name="p_dtTime">日期</param>
public Reports(string p_strExcelName,System.Data.DataTable p_dtReport,string p_strHeaders,string p_strBillID,DateTime p_dtTime)
{
m_dtReport = p_dtReport;
m_strExcelName = p_strExcelName.Trim();
m_strHeaders = p_strHeaders.Trim();
m_strBillID = p_strBillID.Trim();
m_strDate = p_dtTime.Date.ToShortDateString();
m_strExcelParch = System.Environment.CurrentDirectory + @"\Reports\" + m_strExcelName + ".xlt";
if (Directory.Exists(m_strExeParch + @"\wStarSReport") == false)
{
Directory.CreateDirectory(m_strExeParch + @"\wStarSReport");
}
FileInfo fifMode = new FileInfo(m_strExcelParch);
m_strExcelTitle = m_strHeaders + m_intFlag++;
fifMode.CopyTo(m_strExeParch + @"\wStarSReport\" + m_strExcelTitle + ".xls",false);
Thread thread1 = new Thread(new ThreadStart(toExcel));
thread1.Start();
}
/// <summary>
/// 初始化一个报表信息,重载
/// </summary>
/// <param name="p_strExcelName">Excel模板文件的名称</param>
/// <param name="p_dtReport">要填充Excel文件的数据表</param>
/// <param name="p_strHeader">输出报表的表头名称</param>
/// <param name="p_dTime">日期</param>
public Reports(string p_strExcelName, System.Data.DataTable p_dtReport, string p_strHeader, DateTime p_dTime)
{
m_dtReport = p_dtReport;
m_strExcelName = p_strExcelName.Trim();
m_strHeaders = p_strHeader.Trim();
m_DT = p_dTime;
m_strExcelParch = System.Environment.CurrentDirectory + @"\Reports\" + m_strExcelName + ".xlt";
m_strExeParch = System.IO.Directory.GetCurrentDirectory();
if (Directory.Exists(m_strExeParch + @"\wStarSReport") == false)
{
Directory.CreateDirectory(m_strExeParch + @"\wStarSReport");
}
FileInfo fifMode = new FileInfo(m_strExcelParch);
m_strExcelTitle = m_strHeaders + m_intFlag++;
fifMode.CopyTo(m_strExeParch + @"\wStarSReport\" + m_strExcelTitle + ".xls", true);
Thread thread1 = new Thread(new ThreadStart(toExcel));
thread1.Start();
}
股神
2006-10-20
打赏
举报
回复
这种错误不好说..
关于
尝试
读取
或
写入
受
保护
的
内存
。这通常
指示
其他
内存
已损坏
。的解决方法
在编程和软件开发过程中,有时会遇到“
尝试
读取
或
写入
受
保护
的
内存
”的错误,这通常是由于
内存
管理问题导致的。此错误表明程序试图访问的
内存
区域可能已被操作系统标记为不可读或不可写,这往往暗示着
内存
损坏或其他...
Phonetic Bandbag Simulation
MATFOR4.1的demo中有个pbg项目(Phonetic Bandbag Simulation),无论怎么改,都有个错误“
尝试
读取
或
写入
受
保护
的
内存
。这通常
指示
其他
内存
已损坏
。”。查遍网络,最后弄清楚了,GC是单独的一个线程,跨线程释放...
Winform.Net语法高亮显示代码编辑控件
注意 .net4.0 不能使用 .net2.0 程序集不然程序运行会报(
尝试
读取
或
写入
受
保护
的
内存
。这通常
指示
其他
内存
已损坏
。)这个错误。 程序集中原本不包含TSQL语法高亮。现己加入项目中。使用方法请参考2.0中的DEMO!
常见蓝屏代码,代码蓝屏
当操作系统试图访问一段无效或
受
保护
的
内存
区域时,会抛出此错误。 #### 0x0000000F - 系统服务异常 此错误代码表示系统服务出现异常,可能是由于驱动程序问题或系统文件损坏造成的。 #### 0x00000010 - 注册表...
已解决C#
尝试
读取
或
写入
受
保护
的
内存
,这通常
指示
其他
内存
已损坏
(含常见解决办法)
已解决C#
尝试
读取
或
写入
受
保护
的
内存
,这通常
指示
其他
内存
已损坏
(含常见解决办法)
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章