1

这里有一个小情况,我直到最近才使用 TClientDataSet(它需要 midas.dll)所以现在我面临一个非常尴尬的错误,不是很具描述性:

调试器故障通知

项目 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 方法,这也只发生在字符串字段中,任何帮助将不胜感激。

感谢您的时间。

4

1 回答 1

3

ATableField 是从哪里来的?会不会是对已释放对象的无效引用?

此外,您可以在项目中包含 midaslib.pas 以消除对外部 midaslib.dll 的使用。但是,它会使您的项目稍大一些,因为您基本上是在 exe 中编译 dll。

于 2011-01-21T22:51:43.067 回答