“灾难性错误” 我在一个COM控件中引入了一个DataModule单元,然后在DataModulex引入了一个ClientDataset控件,并在设计时导入数据,但我却发现对ClientDataset做任何操作时(比如取值,移动记录集等)都有会出现“灾难性错误”,但如果我在运行时Create一个ClientDataset,并在运行时加载数据,则可以操作(移动,取值等)。不知为什么?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果出现这种问题建议你先一步步排除问题吧,你可以先放一个 TClientDataSet 控件到 DataModule 中,看看运行结果如何,然后再进行下一步判断。出现这种问题的原因有很多,以前我因为其它的原因(如在客户端中调用服务端不存在的接口)也报类似的错误。 你是用ADO连接数据库的吗?我用ADO就会出现“灾难性错误”的提示,后来改用DBExpress就没有这个问题了。 仅供参考:“灾难性错误”我遇到过,我的原因是对一个TAdoQuery的data在同一个线程内绑定到了多个Tdataset,然后我操作Tdataset时,该Tdataset似乎影响到了TadoQuery。后来我多声明了几个Tadoquery,然后分别应用,问题解决了。当然,程序内部错误,比如sql语句步正确也会有这样的错误处来。 “灾难性错误”可能性太多了,一个非法指针存取引起的ACCESS VIOLATION...错误,返回给客户就是'灾难性错误'. 问题已解决,是因为dmDataModule 没有初始化,所以会报错,需要在Initialize方法里面坐初始化工作,通常新建Form, DataModula时系统帮助建立的实例变量,系统会在项目初始化的时候创建,但是ActiveX和COM组件系统不会自动初始化这些实例变量,所以不能直接使用procedure TABC.Initialize;begin inherited; dmDataModule := TdmDataModule.Create(nil);end; 如何实现窗体总是显示 delphi窗体的激活事件代码问题 自定义控件安装使用时如何加载多个单元. chart组件开发遇到的问题~~~因为没有太多的经验 请各位高手指点 Ord什么意思?怎么用?谢谢 求救,数据库的问题 在函数中使用result:=类.create,用完后怎么来释放该内存呢? 读取 ini 文件:可以读出其中一个键值,可是另外的就是读不出!! 帮我加两个标点,谢谢 哪里有Delphi的函数库下载中英文都行肯定给分 请问如何使用 TIWTreeView 这个控件 word文档与数据库问题
“灾难性错误”我遇到过,我的原因是对一个TAdoQuery的data在同一个线程内绑定到了多个Tdataset,然后我操作Tdataset时,该Tdataset似乎影响到了TadoQuery。后来我多声明了几个Tadoquery,然后分别应用,问题解决了。
当然,程序内部错误,比如sql语句步正确也会有这样的错误处来。
procedure TABC.Initialize;
begin
inherited;
dmDataModule := TdmDataModule.Create(nil);
end;