내 응용 프로그램을 종료하기 전에 열려있는 모든 양식을 닫으라는 사용자에게 묻고 싶습니다.열린 소프트웨어의 모든 목록에서 목록을 얻는 방법은 무엇입니까?
열린 양식에서 자동으로 목록을 가져올 수 있습니까?
저는 Delphi 2006을 사용하고 있으며 양식의 자동 작성 기능을 사용하지 않지만 자동 작성 양식의 var
을 Application.CreateForm
과 함께 사용하고 있습니다.
내 의견입니다.
내 응용 프로그램을 종료하기 전에 열려있는 모든 양식을 닫으라는 사용자에게 묻고 싶습니다.열린 소프트웨어의 모든 목록에서 목록을 얻는 방법은 무엇입니까?
열린 양식에서 자동으로 목록을 가져올 수 있습니까?
저는 Delphi 2006을 사용하고 있으며 양식의 자동 작성 기능을 사용하지 않지만 자동 작성 양식의 var
을 Application.CreateForm
과 함께 사용하고 있습니다.
내 의견입니다.
Screen.FormCount
및 Screen.Forms
을 살펴보십시오.
가능한 솔루션 (나는 C#에서 사용)은 열려있는 모든 폼 인스턴스를리스트 var에 저장하는 것입니다. 예를 들어 이라는 전역 목록을 가질 수 있습니다. 열린 폼; 모든 양식이 작성되면 양식 자체가 열린 양식에 대한 참조를 추가하고 닫을 때 양식을 제거 할 수 있습니다.
사용자가 응용 프로그램을 닫으려고 할 때 목록 수가 0보다 크고 사용자가 정말로 닫고 싶다면 응용 프로그램을 종료하기 전에 openedForms에 포함 된 모든 양식 인스턴스를 정상적으로 닫을 수 있습니다.
나는 아이에 대한
Main.MDIChildCount >0
이
대답은 Thx이지만 MDI는 사용하지 않습니다. –
var
i:integer;
begin
with Application do
for i:=0 to componentcount-1 do
if components[i] is TMyCustomForm //your form class here, or simply TForm
then showmessage(components[i].Name);
end;
froms MDI 및 비 MDI 형태를 보여줍니다 사용합니다.
thx man,'Screen.FormCount' 및'Screen.Forms'이 내 문제를 해결합니다! –