收录日期:2018/12/13 08:08:26 时间:2016/05/27 12:53:23 标签:基础类
大家好,我设计了一个程序,其中用到以下的语句:

if( !FrmGetUserCode->Showing )
  FrmGetUserCode->ShowModal() ;

这个窗口是程序创建时auto create的。

在一些机器上运行很正常,可在另外一些机器上只显示了几秒,就自动消失了。这个窗口里并没有自动close的语句,我觉得很奇怪。
在一台机器上更怪,如果我再挂上一个硬盘,这个窗口可以正常显示,如果去掉,就又很快自动消失了。我不知道这是为什么。这个语句非常简单呀,BCB还有这种BUG么?
大家遇到过这种情况么?
没遇到过,一般不auto create,而这样

TFrmGetUserCode* SForm = new TFrmGetUserCode(Application);
SForm->ShowModal();
delete SForm;
如果是自动创建的窗口,可以这样

if( !FrmGetUserCode->Showing )
  FrmGetUserCode->ShowModal() ;

=>

if( FrmGetUserCode->Visible ) {
    FrmGetUserCode->Visible = false;
  FrmGetUserCode->ShowModal() ;
}
不行,我试了,我改了,还是不行!是不是BCB的BUG?
偶测试过了,可以的。

新建一个工程,在 Form1 中放一个 Button1,再新建一个 TForm 名为 Form2,设置 Form2 的 Visible 为 true,Form1 的 Button1 的 OnClick 事件代码如下:

#include "Unit2.h"
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if( Form2->Visible ) {
        Form2->Visible = false;
    }
    Form2->ShowModal();
}
//---------------------------------------------------------------------------
我知道,我新建一个项目,也可以,因为这是最基本的语句。
但不知道为什么在我的程序里不行?showmodal直接执行过去,只显示半秒过去,有谁遇到过这种问题,是不是BCB的BUG?
呵呵,我觉得不bug。 
有bug,也不会这么明显 :)

关于你们公司是否有质量部及质量管理员(QA)的统计,真诚统计,谢谢帮忙 “double”并不包含对“Format”的定义是怎么回事???double不能设定它的格式吗? 创建项目 Excel统计空数据的问题,有点难度,100分 c++ builder 怎么调用IE浏览器? 求一个JS语句 w2003开启什么服务会让网段内其它机器ping不通w2003急!!! 问一个ACE程序的makefile写法 关于你们公司是否有质量部及质量管理员(QA)的统计,真诚统计,谢谢帮忙 菜鸟提问 用了DataMould,在查询的时候,出现(Access Violation at address 0048ae17 in modul \'main.exe\'),这种错误,好像在DELPHI中经常出现! 装箱时碰到的问题 asp.net 2.0下如何访问FormView下ItemTemplate里的一个控件,看代码 新进Delphi公司,前来报道! 怎么做一个图片热区--------急! 怎么在后台代码里面找到 DataList 中的HeaderTemplate里的LinkButton? 关于汉字的串频统计 javaScript 怎么控制