Skip to content

Commit 42b5d52

Browse files
committed
fix: ERangeError when editing text grid values which allow more than 2^31 chars, e.g. LONGTEXT
1 parent c8c3b23 commit 42b5d52

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

source/bineditor.pas

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ TfrmBinEditor = class(TExtForm)
3838
function GetText: String;
3939
procedure SetText(text: String);
4040
procedure SetTitleText(Title: String);
41-
procedure SetMaxLength(len: integer);
41+
procedure SetMaxLength(len: Int64);
4242
procedure SetFont(font: TFont);
4343
property Modified: Boolean read FModified write SetModified;
4444
end;
@@ -78,10 +78,10 @@ procedure TfrmBinEditor.SetTitleText(Title: String);
7878
end;
7979

8080

81-
procedure TfrmBinEditor.SetMaxLength(len: integer);
81+
procedure TfrmBinEditor.SetMaxLength(len: Int64);
8282
begin
8383
// Input: Length in bytes.
84-
memoText.MaxLength := len * 2;
84+
memoText.MaxLength := Integer(len * 2);
8585
end;
8686

8787
procedure TfrmBinEditor.SetFont(font: TFont);

source/grideditlinks.pas

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ THexEditorLink = class(TBaseGridEditorLink)
7474
private
7575
FForm: TfrmBinEditor;
7676
public
77-
MaxLength: Integer;
77+
MaxLength: Int64;
7878
TitleText: String;
7979
constructor Create(Tree: TVirtualStringTree; AllowEdit: Boolean; Col: TTableColumn); override;
8080
destructor Destroy; override;
@@ -152,7 +152,7 @@ TInplaceEditorLink = class(TBaseGridEditorLink)
152152
FPanel: TPanel;
153153
FEdit: TEdit;
154154
FButton: TButton;
155-
FMaxLength: Integer;
155+
FMaxLength: Int64;
156156
procedure DoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
157157
procedure ButtonClick(Sender: TObject);
158158
public
@@ -164,7 +164,7 @@ TInplaceEditorLink = class(TBaseGridEditorLink)
164164
function EndEdit: Boolean; override;
165165
function PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; override;
166166
procedure SetBounds(R: TRect); override;
167-
property MaxLength: Integer read FMaxLength write FMaxLength;
167+
property MaxLength: Int64 read FMaxLength write FMaxLength;
168168
end;
169169

170170
TColumnDefaultEditorLink = class(TBaseGridEditorLink)

source/texteditor.pas

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ TfrmTextEditor = class(TExtForm)
8989
FClosingByCancelButton: Boolean;
9090
FDetectedLineBreaks,
9191
FSelectedLineBreaks: TLineBreaks;
92-
FMaxLength: Integer;
92+
FMaxLength: Int64;
9393
FTableColumn: TTableColumn;
9494
FHighlighter: TSynCustomHighlighter;
9595
FHighlighterFormatters: TStringList;
@@ -99,7 +99,7 @@ TfrmTextEditor = class(TExtForm)
9999
function GetText: String;
100100
procedure SetText(text: String);
101101
procedure SetTitleText(Title: String);
102-
procedure SetMaxLength(len: integer);
102+
procedure SetMaxLength(len: Int64);
103103
procedure SetFont(font: TFont);
104104
property Modified: Boolean read FModified write SetModified;
105105
property TableColumn: TTableColumn read FTableColumn write FTableColumn;
@@ -224,7 +224,7 @@ procedure TfrmTextEditor.SelectLinebreaks(Sender: TObject);
224224
end;
225225

226226

227-
procedure TfrmTextEditor.SetMaxLength(len: integer);
227+
procedure TfrmTextEditor.SetMaxLength(len: Int64);
228228
begin
229229
// Input: Length in number of bytes.
230230
FMaxLength := len;

0 commit comments

Comments
 (0)