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

为什么一弹出Showmessage,窗口就关闭?该怎么解决

2012-03-16 
为什么一弹出Showmessage,窗口就关闭? 公共函数:functionExecuteForm(AFormClass:TFormClass):Booleanbeg

为什么一弹出Showmessage,窗口就关闭?

公共函数:
function   ExecuteForm(AFormClass:   TFormClass):   Boolean;
begin
    Screen.Cursor:=   crHourGlass;
    with   AFormClass.Create(Application)   do
    begin
        Screen.Cursor:=   crDefault;
        if   ShowModal   =   mrOK   then
            Result   :=   True
        else
            Result   :=   False;
        Free;
    end;
end;

调用:
ExecuteForm(TCompanyForm);

现在的问题是,在CompanyForm中,当

        if   Trim(Edit1.txt)= ' '   then
        begin
                ShowMessage( '请输入名称. ');
                Edit1.SetFocus;
                abort;
        end;
时,窗口就自动关闭了。。
-------------------------------------------------

除了主窗体MainForm外,其它窗体都是点击后再加载的。。

请问,这是什么原因?如何改?

[解决办法]
function ExecuteForm(AFormClass: TFormClass): Boolean;
begin
Screen.Cursor:= crHourGlass;
with AFormClass.Create(Application) do
begin
Screen.Cursor:= crDefault;
if ShowModal = mrOK then
Result := True
else
Result := False;
Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteForm(TForm2);
end;

----------------------------
procedure TForm2.Button1Click(Sender: TObject);
begin
if Trim(Edit1.Text)= ' ' then
begin
ShowMessage( '请输入名称. ');
Edit1.SetFocus;
abort;
end;
end;

没你说的这问题!

[解决办法]
为什么用abort?会产生一个exception,看看exception相关处理里是不是退出了?
[解决办法]
回楼上,用Exit
[解决办法]
是否用的d2006?

热点排行