Form1连接到数据库并将连接保存在已发布的属性Form1-> DBSession中。
在项目源代码中,我想确保此会话已关闭,即使程序中止抛出异常(在库中)。
我的代码包含使用
的表单USEFORM("fForm1.cpp", Form1);
在WinMain中编写此代码时
try {
Application->Initialize();
Application->CreateForm( __classid(TForm1), &Form1 );
Application->Run();
}
__finally
{ Form1->DBSession->Close(); }
编译器无法编译,因为它不知道TForm1。我不能包含头文件,因为我需要使用USEFORM并获得重新声明错误,包括。
答案 0 :(得分:1)
您无需在WinMain()内添加try..finally块。 WinMain()退出后,将自动释放所有活动的TForm对象。只需让您的MainForm在其析构函数中关闭DBSession。