代码之家  ›  专栏  ›  技术社区  ›  Ralph M. Rickenbach

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

  •  0
  • Ralph M. Rickenbach  · 技术社区  · 16 年前

    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 回复  |  直到 16 年前
        1
  •  1
  •   Remy Lebeau    16 年前

    您不需要在winmain()中添加try..finally块。退出winmain()后,所有活动的tform对象将自动释放。只需让您的主窗体在其析构函数中关闭dbsession。