我仔细察看了你的代码,问题应该出在TJPGFieldDataLink上,
你重载了TFieldDataLink的ActiveChanged过程
procedure TJPGFieldDataLink.ActiveChanged ;
begin
inherited; ---你忘了这句,没有的话导致你在DataSet的Active改变后没有UpdateField
---这样的话,导致Field为nil
if FDBJPEG<>nil then FDBJPEG.OnDataChange(self);
end;
建议你再查查你的代码,我发现有很多重载的方法你都没有inherited,看看是否有必要