mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 00:19:19 +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;
|
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;
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user