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;
|