强制C ++ Builder即使中止也会关闭数据库会话

时间:2009-12-08 15:18:54

标签: c++builder

Form1连接到数据库并将连接保存在已发布的属性Form1-> DBSession中。

在项目源代码中,我想确保此会话已关闭,即使程序中止抛出异常(在库中)。

我的代码包含使用

的表单
USEFORM("fForm1.cpp", Form1); 

在WinMain中编写此代码时

try {
   Application->Initialize();
   Application->CreateForm( __classid(TForm1), &Form1 );
   Application->Run();
} 
__finally
  {  Form1->DBSession->Close(); } 

编译器无法编译,因为它不知道TForm1。我不能包含头文件,因为我需要使用USEFORM并获得重新声明错误,包括。

1 个答案:

答案 0 :(得分:1)

您无需在WinMain()内添加try..finally块。 WinMain()退出后,将自动释放所有活动的TForm对象。只需让您的MainForm在其析构函数中关闭DBSession。