unit fServerForm; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, uROClient, uROPoweredByRemObjectsButton, uROClientIntf, uROServer, uROClasses, ExtCtrls; const WM_DISPLAY_CODE = WM_APP + 1; WM_HIDE_CODE = WM_APP + 2; type TServerForm = class(TForm) RoPoweredByRemObjectsButton1: TRoPoweredByRemObjectsButton; lbPairingCodeCaption: TLabel; lbPairingCode: TLabel; tmrCode: TTimer; procedure FormCreate(Sender: TObject); procedure tmrCodeTimer(Sender: TObject); private { Private declarations } protected procedure WMDisplayCode(var Message: TMessage); message WM_DISPLAY_CODE; procedure WMHideCode(var Message: TMessage); message WM_HIDE_CODE; public { Public declarations } procedure DisplayPairingCode(aCode: integer); procedure HidePairingCode; end; var ServerForm: TServerForm; implementation {$R *.dfm} uses ApprovedClientsStorage; procedure TServerForm.DisplayPairingCode(aCode: integer); begin PostMessage(Handle, WM_DISPLAY_CODE, 0, aCode); end; procedure TServerForm.FormCreate(Sender: TObject); begin Application.Title := Self.Caption; StorageInstance.StorageFile := 'ApprovedClients.lst'; end; procedure TServerForm.WMDisplayCode(var Message: TMessage); begin lbPairingCode.Caption := IntToStr(Message.LParam); lbPairingCode.Visible := true; lbPairingCodeCaption.Visible := true; tmrCode.Enabled := true; end; procedure TServerForm.tmrCodeTimer(Sender: TObject); begin lbPairingCode.Visible := false; lbPairingCodeCaption.Visible := false; tmrCode.Enabled := false; end; procedure TServerForm.HidePairingCode; begin PostMessage(Handle, WM_HIDE_CODE, 0, 0); end; procedure TServerForm.WMHideCode(var Message: TMessage); begin tmrCodeTimer(nil); end; end.