저는 여전히 vcl 형식으로 C++을 배우므로, 제가 묻는 것은 그것이 보이는 것보다 더 단순한 것으로 판명되면 용서할 수 있습니다. 참고로 Windows 환경에서 C++ 빌더 10.1 베를린을 사용하고 있습니다.C++ with vcl : 보조 양식을 닫지 않아도 프로세스가 종료되지 않습니다.
두 가지 형식의 프로그램이 있습니다 ("MainForm"및 "BackupForm"이라고 함). MainForm에서 사용자 입력을 수락하면 사용자가 특정 단추 ("DoSomething")를 클릭하면 몇 가지 변수를 설정하고 BackupForm->Show();
을 호출 한 다음 MainForm->Hide();
을 호출하여 더 많은 일을하는 두 번째 양식으로 전환합니다.
내가 겪고있는 문제는 사용자가 정상적으로 프로그램을 종료하는 오른쪽 상단의 "X"를 클릭하면 BackupForm을 닫을뿐 프로세스를 종료하지 않는다는 것입니다. MainForm에서 동일한 작업을 수행하면 프로세스가 종료됩니다.
나는 주변을 둘러 보았고 올바른 질문이나 아무에게도 질문하지 않았지만이 문제가 있거나 숨김/형태를 전환하는 것이 올바른 방법이 아니지만 전반적인 질문은 이 :
TLDR :방법/방법 등이 있습니까? 보조 창에서 "닫기 창"버튼을 누른 다음 응용 프로그램을 닫고 작업 관리자에서 종료하지 않고 프로세스를 종료하려면?
잘 모르는 형태를 전환하는 더 좋은 방법이 있다면, 그 목적을위한 제안도 신경 쓰지 않을 것입니다.
또한 필요한 경우 더 많은 코드를 게시 할 수 있지만 실제로 도움이 될지 확실하지 않았습니다. 아래의 일부는 내가 가진 무엇 : (? 기능 응용 프로그램)
홈페이지 내 IDE에 의해 사전 생성 :
#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
//------------------------------------------------------------------------
USEFORM("BackupFormCode.cpp", BackupForm);
USEFORM("UserBackupProgram.cpp", MainForm);
//----------------------------------------------------------------------
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TMainForm), &MainForm);
Application->CreateForm(__classid(TBackupForm), &BackupForm);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
버튼 "해봐요" "MainForm"누르면 :
void __fastcall TMainForm::ExecuteCopyClick(TObject *Sender)
{
//Setting variables....
//Then:
BackupForm->Show();
MainForm->Hide();
}
감사합니다! 어떤 이유로, 두 개의'FormClose' 메소드를 추가하는 것이 내 코드에서 작동하지 않았지만'ShowModal '을 가진 두 번째 솔루션은 정상적으로 작동하는 것처럼 보였다. – RisaAudr
'FormClose()'메소드를 코드에 추가하는 것만으로는 충분하지 않습니다. 실제로 그것들을'OnClose' 이벤트에 할당해야합니다. 올바르게 사용할 경우 잘 작동합니다. –
FormClose 메서드를 OnClose 이벤트에 어떻게 할당합니까? 나는 어떻게하는지에 대한 문서를 찾기 위해 고심 중이다 ... – RisaAudr