mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 20:39:25 +02:00
* Reinstated SetFound
git-svn-id: trunk@20884 -
This commit is contained in:
parent
9e105677db
commit
b2ce6b2cab
@ -36,18 +36,20 @@ type
|
||||
FieldNo : integer;
|
||||
OrgBufID: integer;
|
||||
Buffer : pointer;
|
||||
Size : ptrint;
|
||||
Size : PtrInt;
|
||||
end;
|
||||
|
||||
TBufBlobStream = class(TStream)
|
||||
private
|
||||
FBlobBuffer : PBlobBuffer;
|
||||
FPosition : ptrint;
|
||||
FPosition : PtrInt;
|
||||
FDataset : TCustomBufDataset;
|
||||
protected
|
||||
function Read(var 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
|
||||
constructor Create(Field: TBlobField; Mode: TBlobStreamMode);
|
||||
end;
|
||||
@ -2390,17 +2392,27 @@ begin
|
||||
ABlobBuffer := Nil;
|
||||
end;
|
||||
|
||||
function TBufBlobStream.Seek(Offset: Longint; Origin: Word): Longint;
|
||||
function TBufBlobStream.Seek(const Offset: int64; Origin: TSeekOrigin): int64;
|
||||
|
||||
begin
|
||||
Case Origin of
|
||||
soFromBeginning : FPosition:=Offset;
|
||||
soFromEnd : FPosition:=FBlobBuffer^.Size+Offset;
|
||||
soFromCurrent : FpoSition:=FPosition+Offset;
|
||||
soBeginning : FPosition:=Offset;
|
||||
soEnd : FPosition:=FBlobBuffer^.Size+Offset;
|
||||
soCurrent : FpoSition:=FPosition+Offset;
|
||||
end;
|
||||
Result:=FPosition;
|
||||
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;
|
||||
|
||||
|
@ -1311,6 +1311,10 @@ begin
|
||||
FFiltered := value;
|
||||
end;
|
||||
|
||||
procedure TDataSet.SetFound(const Value: Boolean);
|
||||
begin
|
||||
FFound := Value;
|
||||
end;
|
||||
|
||||
Procedure TDataset.SetModified(Value: Boolean);
|
||||
|
||||
|
@ -494,8 +494,12 @@ Procedure TMasterParamsDataLink.DoMasterDisable;
|
||||
|
||||
begin
|
||||
Inherited;
|
||||
If Assigned(DetailDataset) and DetailDataset.Active then
|
||||
if Assigned(Params) and Assigned(DetailDataset) and DetailDataset.Active then
|
||||
begin
|
||||
DetailDataSet.CheckBrowseMode;
|
||||
DetailDataset.Close;
|
||||
DetailDataset.Open;
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure TMasterParamsDataLink.DoMasterChange;
|
||||
|
@ -1487,6 +1487,7 @@ type
|
||||
procedure SetFilterOptions(Value: TFilterOptions); virtual;
|
||||
procedure SetFilterText(const Value: string); virtual;
|
||||
procedure SetFieldValues(const fieldname: string; Value: Variant); virtual;
|
||||
procedure SetFound(const Value: Boolean); virtual;
|
||||
procedure SetModified(Value: Boolean);
|
||||
procedure SetName(const Value: TComponentName); override;
|
||||
procedure SetOnFilterRecord(const Value: TFilterRecordEvent); virtual;
|
||||
|
Loading…
Reference in New Issue
Block a user