我用d7+sql2000+ado做了一个软件,运行一切正常,可是我每次在delphi7下编译运行
结束的时候都会出现一个错误提示筐内容如下:project project1.exe raised exception class EStackOverflow with message 'stack overflow'.process stopped.use step or run to continue.
当我单击OK按钮的时候程序不能正常结束,我在单击运行按钮后会出现一个'地址表'和
另一个错误提示筐内容如下:project D:\公司管理\project1.exe faulted with message:'access violation at
0x77df5940:write of address 0x00030c10'.process stopped.use step or run to
continue.
我单击OK后还是不能结束,再运行还是有同样的提示!当我不在d7下运行,直接运行d:\公司管理\project1的时候在结束程序的时候也会出现一个错误提示筐内容是:stack overflow
请问各位是什么原因? 应该怎么解决!
谢谢指教!

解决方案 »

  1.   

    stack overflow一般是死循环所致,可以给出你的代码嘛,这样不知何故的
      

  2.   

    stack溢出,你可以将stack空间开的大一些,在项目属性里面可以修改,建议你不要修改因为那个值的大小对应付多数系统是足够的了.还是多找找你的代码问题吧.如果是递归造成的可以将递归改成循环
      

  3.   

    以前的问题解决了,可是又有新的问题了!大家救命啊!
    我在第2个窗体的关闭事件中添加了application.free可是当我在运行程序的时候程序就不能运行了在下面提示:
    [Fatal Error]Could not create output ile 'd:\公司管理\project1.exe'
    请问是什么原因啊?还有我在从数据库中读图片的时侯用到了Tjpegimage和tmemorystream我在读取完后
    用FREE释放掉了,可是在每次读取时却出现了地址错误提示!请指教!!!
      

  4.   

    你把d:\公司管理\project1.exe 文件删掉,然后重新编译
      

  5.   

    [Fatal Error]Could not create output ile 'd:\公司管理\project1.exe'可能project1.exe正在运行,关掉再编译,如还不行,把DELPHI关掉再打开。或者如IORILI(眼镜@_@)所说,你试试删掉project1.exe。可能也无法删除。还有我在从数据库中读图片的时侯用到了Tjpegimage和tmemorystream我在读取完后
    用FREE释放掉了,可是在每次读取时却出现了地址错误提示!代码贴出来看看