From: Nando D. <na...@us...> - 2005-04-11 08:30:20
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16680/Core Modified Files: InstantPresentation.pas Log Message: Fixed bug #1179102 (buffer trashing with calculated fields) - retouch Index: InstantPresentation.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPresentation.pas,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** InstantPresentation.pas 8 Apr 2005 09:58:09 -0000 1.14 --- InstantPresentation.pas 11 Apr 2005 08:29:55 -0000 1.15 *************** *** 306,309 **** --- 306,310 ---- function GetCanModify: Boolean; override; function GetCurrentObject: TObject; virtual; + function GetFieldOffset(const Field: TField): Integer; function GetRecNo: Integer; override; function GetRecord(Buffer: PChar; GetMode: TGetMode; *************** *** 378,382 **** property ObjectClassName: string read GetObjectClassName write SetObjectClassName stored HasObjectClassName; property Subject: TObject read GetSubject; - function GetFieldOffset(const Field: TField): Integer; public constructor Create(AOwner: TComponent); override; --- 379,382 ---- *************** *** 2880,2891 **** procedure TInstantCustomExposer.LoadField(Obj: TObject; Field: TField); - var - I, Offset: Integer; begin - Offset := 0; - for I := 0 to Pred(Field.Index) do - Inc(Offset, Fields[I].DataSize); LoadFieldParams(Obj, Field); ! LoadFieldValue(Field, @CurrentBuffer[Offset], Obj); DataEvent(deFieldChange, Longint(Field)); end; --- 2880,2886 ---- procedure TInstantCustomExposer.LoadField(Obj: TObject; Field: TField); begin LoadFieldParams(Obj, Field); ! LoadFieldValue(Field, @CurrentBuffer[GetFieldOffset(Field)], Obj); DataEvent(deFieldChange, Longint(Field)); end; |