我在使用ClientDataSet保存数据时遇到问题。
我将数据放入ClientDataSet并尝试:
...
var
strmBENU: TMemoryStream;
implementation
...
TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.SaveToStream(strmBENU);
end;
...
单击Button1,这是我得到的:
模块“Project2.exe”中地址0049CEB2处的访问冲突。读地址00000000。
我做错了什么?
答案 0 :(得分:3)
可能没有创建流。试试这个:
TForm1.Button1Click(Sender: TObject);
var
strmBENU: TMemoryStream;
begin
strmBENU := TMemoryStream.Create;
try
ClientDataSet1.SaveToStream(strmBENU);
// do stuff with stream
finally
strmBENU.Free;
end;
end;
答案 1 :(得分:2)
看起来像一个NULL引用。您是否已实例化strmBENU
?