1
나쁜 영어로 죄송합니다. 먼저 로그 아웃 구문을 사용하십시오.어떻게 로그 아웃하고 델파이의 활성 양식을 닫으십시오
로그 아웃을 클릭하면 모든 활성 양식이 계속 나타나고 닫히지 않습니다. 각 양식에
procedure Tf_utama.KELUAR1Click(Sender: TObject);
begin
if MessageDlg('Logout ??',mtConfirmation,mbOKCancel,0)=mrOK
then
DATAINPUTAN1.Visible:=False;
INFODATA1.Enabled:=False;
TRANSAKSI.Enabled:=False;
LAPORAN1.Enabled:=False;
PENGATURAN1.Enabled:=False;
f_databuku:=nil;
f_rakbuku:=nil;
f_permintaan_pembeli:=nil;
f_rakbuku:=nil;
f_pengguna:=nil;
f_transaksi_penjualan:=nil;
f_transaksi_pembelian:=nil;
f_supplier:=nil;
StatusBar1.Panels[0].Text:='Nama Pengguna :';
StatusBar1.Panels[1].Text:='Hak Akses :';
end;
은 내가 사용하고 닫습니다 :
방법 닫고 자유 양식이 아니다
procedure Tf_caribuku.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
f_caribuku:=nil;
end;
오류가 발생했습니다. 모든 양식이 열려 있거나 생성되지 않았기 때문일 수 있습니다. 'TformContainer' 사용 방법은 무엇입니까? 미안 나는 아직도 그것을 얻지 않는다. –
마침내 나는 이것을 해결할 수있다. 'procedure Tf_utama.KELUAR1Click (발신자 : TObject); begin MessageDlg ('Logout ??', mtConfirmation, mbOKCancel, 0) = mrOK 인 경우 begin DATAINPUTAN1.Visible : = False; INFODATA1.Enabled : = False; TRANSAKSI.Enabled : = False; LAPORAN1.Enabled : = False; PENGATURAN1.Enabled : = 틀림; f_databuku.Free; f_rakbuku.Free; f_permintaan_pembeli.Free; f_rakbuku.Free; f_pengguna.Free; f_transaksi_penjualan.Free; f_transaksi_pembelian.Free; f_supplier.Free; 끝; end; ' –
SomeForm.Free를 호출하면 안됩니다. 왜? 그렇게하면 핵심 양식의 종료를 방지 할 수 있습니다. 예를 들어 최소 양식을 비우면 응용 프로그램이 닫히지 않을 것입니다. 그리고 그 형식은 TApplication 클래스가 파기에 대해 인식 할 수 없기 때문에, Someform.free를 호출하면 OnClose 또는 OnCanClose 이벤트가 발생하지 않습니다. – SilverWarior