首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

为什么C++BUILDER在创建出窗口后就不挂了?解决方法

2012-02-04 
为什么C++BUILDER在创建出窗口后就不挂了?? - C++ Builder / Windows SDK/APIC/C++ codeApplication-Init

为什么C++BUILDER在创建出窗口后就不挂了?? - C++ Builder / Windows SDK/API

C/C++ code
        Application->Initialize();        Application->MainFormOnTaskBar = true;        Application->CreateForm(__classid(TTestForm), &TestForm);        Application->Run();


以上语句跑完,窗口已被创建了。
创建了两个按钮,分别做一个除零错,和一个非法指针访问。
代码如下:
C/C++ code
//---------------------------------------void __fastcall TEPSForm::btnDivZeroClick(TObject *Sender){    int i=0;    int j=1;    j = j/i;}//---------------------------------------void __fastcall TEPSForm::btnNullPClick(TObject *Sender){    char* pData=NULL;    *pData = 1;}


很奇怪的是,点它们除了报错外,居然主程序不关??这和平时的理解完全不同,
在VC中都会使程序彻底退出,这是为什么?如何解决呢?

现在很希望在CBC中出现这种情况能将整个程序自动完全退出,而不是还可以对界面进行各种操作。
望大虾指教!

[解决办法]
加个ApplicationEvents1组件在他的OnException可以处理异常,当然也可以退出
C/C++ code
void __fastcall TForm1::ApplicationEvents1Exception(TObject *Sender, Exception *E){ Application->Terminate();}
[解决办法]
VCL中的异常处理机制比VC要好。

用断言:assert,可以保证被断言的代码出错就中止。
[解决办法]
探讨
WIN7下验证确实可以。。。在XP下再试试,如果可以这个方法更简单

热点排行