“灾难性错误”

visiond 2004-06-29 04:10:34
我在一个COM控件中引入了一个DataModule单元,然后在DataModulex引入了一个ClientDataset控件,并在设计时导入数据,但我却发现对ClientDataset做任何操作时(比如取值,移动记录集等)都有会出现“灾难性错误”,但如果我在运行时Create一个ClientDataset,并在运行时加载数据,则可以操作(移动,取值等)。不知为什么??
...全文
311 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
visiond 2004-07-05
  • 打赏
  • 举报
回复
问题已解决,是因为dmDataModule 没有初始化,所以会报错,需要在Initialize方法里面坐初始化工作,通常新建Form, DataModula时系统帮助建立的实例变量,系统会在项目初始化的时候创建,但是ActiveX和COM组件系统不会自动初始化这些实例变量,所以不能直接使用
procedure TABC.Initialize;
begin
inherited;
dmDataModule := TdmDataModule.Create(nil);
end;
WuChenCan 2004-07-03
  • 打赏
  • 举报
回复
唉,我也遇到“灾难性错误”,不过我是创建中间层接口时没创建成功,正在解决中。
stubborndonkey 2004-07-02
  • 打赏
  • 举报
回复
“灾难性错误”可能性太多了,一个非法指针存取引起的ACCESS VIOLATION...错误,返回给客户就是'灾难性错误'.
SaKura2003 2004-07-02
  • 打赏
  • 举报
回复
小弟也正遇到此问题,共勉。
xyqxj 2004-07-01
  • 打赏
  • 举报
回复
仅供参考:
“灾难性错误”我遇到过,我的原因是对一个TAdoQuery的data在同一个线程内绑定到了多个Tdataset,然后我操作Tdataset时,该Tdataset似乎影响到了TadoQuery。后来我多声明了几个Tadoquery,然后分别应用,问题解决了。
当然,程序内部错误,比如sql语句步正确也会有这样的错误处来。
visiond 2004-06-30
  • 打赏
  • 举报
回复
我有这样试过,只要不对其进行操作就不会报错,一有任何操作都会报“灾难性错误”,如果你方面的话留个邮箱,我将程序发给你,我用的是delphi7编译。
我的邮箱是:visiond@21cn.com QQ:2950878
caixiang78 2004-06-30
  • 打赏
  • 举报
回复
你是用ADO连接数据库的吗?我用ADO就会出现“灾难性错误”的提示,后来改用DBExpress就没有这个问题了。
hiflower 2004-06-30
  • 打赏
  • 举报
回复
在设计期将所有的连接、数据集都关闭,还有服务端的数据库连接
wychero 2004-06-29
  • 打赏
  • 举报
回复
如果出现这种问题建议你先一步步排除问题吧,你可以先放一个 TClientDataSet 控件到 DataModule 中,看看运行结果如何,然后再进行下一步判断。出现这种问题的原因有很多,以前我因为其它的原因(如在客户端中调用服务端不存在的接口)也报类似的错误。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧