frmMain と frmLogin の 2 つのフォームがあります。frmLogin は使用可能なフォームであり、frmMain が「アクティブ化」されたときに作成されます。
procedure TfrmMain.FormActivate(Sender: TObject);
begin
If (frmLogin = Nil) Then
frmLogin := TFrmLogin.Create(Application);
frmLogin.WindowState := wsNormal;
frmLogin.Showmodal;
frmLogin.free;
frmLogin:=nil;
end;
frmLogin で、button1 modalresult を mrOk に変更しました。
procedure TfrmLogin.Button1Click(Sender: TObject);
begin
if Edit1.Text = '123456' then
begin
modalresult:=1;
fechar:=true;
end else begin
application.MessageBox(pchar('Wrong Pass'), 'Login não autorizado',Mb_Ok+mb_iconerror);
modalresult:=0;
end;
そして、button2 で modalresult を mrCancel に変更しました。しかし、ユーザーがログインフォームのキャンセルボタンをクリックすると、メインフォームが非表示になり、トレイアイコンのみが表示される必要があります。button2 で次のコードを使用しました。
frmMain.visible: = false
しかし、「OnShow または OnHide で Visible を変更できません」というエラーが返されます。誰でも私を助けることができますか?