Форма, при нажатии кнопки, назначаем события... события - это процедуры типа TNotifyEvent, Где
- Код: Выделить всё
-   TNotifyEvent = procedure(Sender: TObject) of object;
Это значит, чтобы Application.OnRestore присвоить значение нужно иметь переменую типа TNotifyEvent. Значит мы должны создать процедуры я сделал так:
- Код: Выделить всё
-      procedure OnRest(Sender: TObject);
 procedure OnMin(Sender: TObject);
 
Тут уже в конце процедуры писать of object; не нужно.
После их нужно описать, и присвоить определенному полю. Присваивать нужно адреса процедур вот так:
- Код: Выделить всё
-    //Назначаем действия
 Application.OnRestore:=@OnRest;
 Application.OnMinimize:=@OnMin;
 
Код всей формы:- Код: Выделить всё
- unit Unit1; 
 
 {$mode objfpc}{$H+}
 
 interface
 
 uses
 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
 type
 
 { TForm1 }
 
 TForm1 = class(TForm)
 Button1: TButton;
 procedure Button1Click(Sender: TObject);
 private
 { private declarations }
 public
 procedure OnRest(Sender: TObject);
 procedure OnMin(Sender: TObject);
 { public declarations }
 end;
 
 var
 Form1: TForm1;
 
 implementation
 
 {$R *.lfm}
 
 { TForm1 }
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 //Назначаем действия
 Application.OnRestore:=@OnRest;
 Application.OnMinimize:=@OnMin;
 end;
 
 procedure TForm1.OnRest(Sender: TObject);
 begin
 Caption:='';
 end;
 
 procedure TForm1.OnMin(Sender: TObject);
 begin
 Button1.Caption:='';
 end;
 
 end.
 
Более подробно можно прочитать в любом ХОРОШЕМ учебнике по Делфи.