* Reinstated SetFound

git-svn-id: trunk@20884 -
This commit is contained in:
michael 2012-04-15 14:00:06 +00:00
parent 9e105677db
commit b2ce6b2cab
4 changed files with 29 additions and 8 deletions

View File

@ -36,18 +36,20 @@ type
FieldNo : integer; FieldNo : integer;
OrgBufID: integer; OrgBufID: integer;
Buffer : pointer; Buffer : pointer;
Size : ptrint; Size : PtrInt;
end; end;
TBufBlobStream = class(TStream) TBufBlobStream = class(TStream)
private private
FBlobBuffer : PBlobBuffer; FBlobBuffer : PBlobBuffer;
FPosition : ptrint; FPosition : PtrInt;
FDataset : TCustomBufDataset; FDataset : TCustomBufDataset;
protected protected
function Read(var Buffer; Count: Longint): Longint; override; function Read(var Buffer; Count: Longint): Longint; override;
function Write(const Buffer; Count: Longint): Longint; override; function Write(const Buffer; Count: Longint): Longint; override;
function Seek(Offset: Longint; Origin: Word): Longint; override; function Seek(const Offset: int64; Origin: TSeekOrigin): int64; override;
function GetPosition: Int64; override;
function GetSize : Int64; override;
public public
constructor Create(Field: TBlobField; Mode: TBlobStreamMode); constructor Create(Field: TBlobField; Mode: TBlobStreamMode);
end; end;
@ -2390,17 +2392,27 @@ begin
ABlobBuffer := Nil; ABlobBuffer := Nil;
end; end;
function TBufBlobStream.Seek(Offset: Longint; Origin: Word): Longint; function TBufBlobStream.Seek(const Offset: int64; Origin: TSeekOrigin): int64;
begin begin
Case Origin of Case Origin of
soFromBeginning : FPosition:=Offset; soBeginning : FPosition:=Offset;
soFromEnd : FPosition:=FBlobBuffer^.Size+Offset; soEnd : FPosition:=FBlobBuffer^.Size+Offset;
soFromCurrent : FpoSition:=FPosition+Offset; soCurrent : FpoSition:=FPosition+Offset;
end; end;
Result:=FPosition; Result:=FPosition;
end; end;
function TBufBlobStream.GetPosition: Int64;
begin
Result:=FPosition;
end;
function TBufBlobStream.GetSize: Int64;
begin
Result:=FBlobBuffer^.Size;
end;
function TBufBlobStream.Read(var Buffer; Count: Longint): Longint; function TBufBlobStream.Read(var Buffer; Count: Longint): Longint;

View File

@ -1311,6 +1311,10 @@ begin
FFiltered := value; FFiltered := value;
end; end;
procedure TDataSet.SetFound(const Value: Boolean);
begin
FFound := Value;
end;
Procedure TDataset.SetModified(Value: Boolean); Procedure TDataset.SetModified(Value: Boolean);

View File

@ -494,8 +494,12 @@ Procedure TMasterParamsDataLink.DoMasterDisable;
begin begin
Inherited; Inherited;
If Assigned(DetailDataset) and DetailDataset.Active then if Assigned(Params) and Assigned(DetailDataset) and DetailDataset.Active then
begin
DetailDataSet.CheckBrowseMode;
DetailDataset.Close; DetailDataset.Close;
DetailDataset.Open;
end;
end; end;
Procedure TMasterParamsDataLink.DoMasterChange; Procedure TMasterParamsDataLink.DoMasterChange;

View File

@ -1487,6 +1487,7 @@ type
procedure SetFilterOptions(Value: TFilterOptions); virtual; procedure SetFilterOptions(Value: TFilterOptions); virtual;
procedure SetFilterText(const Value: string); virtual; procedure SetFilterText(const Value: string); virtual;
procedure SetFieldValues(const fieldname: string; Value: Variant); virtual; procedure SetFieldValues(const fieldname: string; Value: Variant); virtual;
procedure SetFound(const Value: Boolean); virtual;
procedure SetModified(Value: Boolean); procedure SetModified(Value: Boolean);
procedure SetName(const Value: TComponentName); override; procedure SetName(const Value: TComponentName); override;
procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual; procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual;