-2

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 を変更できません」というエラーが返されます。誰でも私を助けることができますか?

4

1 に答える 1