unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function SystemErrorMessage(Code: Cardinal): string; var P: PChar; begin if FormatMessage(Format_Message_Allocate_Buffer + Format_Message_From_System, nil, Code, 0, @P, 0, nil) <> 0 then begin Result := P; LocalFree(Integer(P)) end else Result := ''; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(SystemErrorMessage(GetLastError)); end; end.