这里有一个小情况,我直到最近才使用TClientDataSet (它需要midas.dll),所以现在我面临着一个非常尴尬的错误,没有很好的描述性:
调试器故障通知
Project E:\Work\XXX\binary\XXX.exe出错,返回消息:“访问冲突位于0x00678827:写入地址0x00030a38”。进程已停止。使用Step或Run继续。
每当我尝试设置clientdataset中的字段的值(我将其用作内存中的数据集)时,就会发生这种情况:
with ADataModule do begin
cdsTest.Append;
cdsTestAField.AsString := ATableField.AsString;
// ...
end;两个字段均为TStringField,cdsTestAField的大小为64,ATableField的大小为32
注意:我先调用CreateDataSet方法,而且这只发生在字符串字段中,如果有任何帮助,我们将不胜感激。
谢谢您抽时间见我。
发布于 2011-01-22 06:51:43
ATableField是从哪里来的呢?会不会是对已经释放的对象的无效引用?
此外,您还可以在项目中包含midaslib.pas,以避免使用外部midaslib.dll。但是,它会使您的项目稍微大一些,因为您基本上是在exe中编译dll。
https://stackoverflow.com/questions/4764624
复制相似问题