When I tested my Undo Redo function, I found this problem, it looks like a BUG, some people encountered such a problem?
Before using Cut or Copy, using the Paste operation will result in the lack of timely access to the pasted content:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
bttnCopy: TButton;
bttnPaste: TButton;
bttnCut: TButton;
Memo1: TMemo;
procedure bttnCopyClick(Sender: TObject);
procedure bttnCutClick(Sender: TObject);
procedure bttnPasteClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text := 'ABCD';
end;
procedure TForm1.bttnCopyClick(Sender: TObject);
begin
Memo1.CopyToClipboard;
end;
procedure TForm1.bttnCutClick(Sender: TObject);
begin
writeln('Before Cut: ', Memo1.Text);
Memo1.CutToClipboard;
writeln('After Cut: ', Memo1.Text);
end;
procedure TForm1.bttnPasteClick(Sender: TObject);
begin
writeln('Before Paste: ', Memo1.Text);
Memo1.PasteFromClipboard;
writeln('After Paste: ', Memo1.Text);
end;
end.
I did the tests in Linux Mint 18.2 Mate, using Lazarus 1.8.0RC4 and 1.9.0(svn 56537M) GTK2
Is this a Bug?