求助!关于TCustomClientDataSet.Post报错的问题
用TSQLQuery+TDataSetProvider+TClientDataSet来连接firebird数据库,修改数据,然后保存。
有时会出现报错的现象(没有规律,有时有,有时有没有),跟踪发现是在下面代码报错—BClient.pas)
procedure TCustomClientDataSet.InternalPost;
begin
inherited;
if State = dsEdit then
Check(FDSCursor.ModifyRecord(ActiveBuffer)) else
Check(FDSCursor.InsertRecord(ActiveBuffer));
if AggregatesActive then
DoAggUpdates(State = dsEdit);
end;
在FDSCursor.ModifyRecord(ActiveBuffer)处,报错
错误信息如下:
class EAccessViolation with message 'Access violation at address 0060FA83 in module read of address 000000B2 '
应该是地址访问错误,有朋友遇到过这样的问题吗?
[解决办法]
有有,有有
明的出,取你的操作和容。
出段源有助。
自己去找出出的件,才能找到原因...
[解决办法]
应该是你新增记录的时候就会报错.
这种内存错误一般是由野指针引起的,也就是有东西未创建或已经释放.