Du könntest auch eine Klassenmethode erstellen, die das prüft und das Fenster ggf. anzeigt. So musst du dich an anderer Stelle darum nicht kümmern:
Delphi-Quellcode:
TFormX = class(TForm)
...
public
class function CreateForm(AOwner: TComponent): Boolean;
Delphi-Quellcode:
class function TFormX.CreateForm(AOwner: TComponent): Boolean;
begin
Result := ( ... Prüfung ...)
if Result then
begin
FormX := TFormX.Create(AOwner);
FormX.Show;
end;
end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not TFormX.CreateForm(Self) then
ShowMessage('Unzureichende Rechte');
end;
Das muss natürlich entsprechend angepasst werden und sauber umgesetzt werden, aber das soll auch nur als Beispiel dienen wie ich das meine.
Die Variable für das erzeugte Formularobjekt kann ggf. auch zurückgegeben werden oder als out-Parameter übergeben werden, ...
Da kann man sehr viel entsprechend anpassen.