From b4fb0f45dd5375c2a4c4ca66c047bcc43d78278e Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 12 Mar 2019 08:11:52 +0000 Subject: [PATCH] * TBlobField must bet TBinaryField descendent, but needs to allow size 0 --- packages/fcl-db/db.pas | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/fcl-db/db.pas b/packages/fcl-db/db.pas index a087172..8ea546c 100644 --- a/packages/fcl-db/db.pas +++ b/packages/fcl-db/db.pas @@ -662,7 +662,7 @@ type TBlobStreamMode = (bmRead, bmWrite, bmReadWrite); // TBlobType = ftBlob..ftMemo; - TBlobField = class(TField) + TBlobField = class(TBinaryField) private FModified : Boolean; // Wrapper that retrieves FDataType as a TBlobType @@ -670,6 +670,7 @@ type // Wrapper that calls SetFieldType // procedure SetBlobType(AValue: TBlobType); protected + class procedure CheckTypeSize(AValue: Longint); override; function GetBlobSize: Longint; virtual; function GetIsNull: Boolean; override; procedure GetText(var AText: string; ADisplayText{%H-}: Boolean); override; @@ -7027,6 +7028,11 @@ end; +class procedure TBlobField.CheckTypeSize(AValue: Longint); +begin + If AValue<0 then + DatabaseErrorFmt(SInvalidFieldSize,[AValue]); +end; function TBlobField.GetBlobSize: Longint;