请看下面的判断语句,运行中即使(frmcept.ShowModal) = mrOk,运行时仍然会运行else中的exit语句,怎么调整都这样。if not Assigned(frmcept) then //调用系统注册输入并验证窗口;
frmcept:=Tfrmcept.create(Self);
if (frmcept.ShowModal) = mrOk then
begin
sg_okvalidate:=true;
end
else
begin
sg_okvalidate:=false;
exit;
end;
frmcept:=Tfrmcept.create(Self);
if (frmcept.ShowModal) = mrOk then
begin
sg_okvalidate:=true;
end
else
begin
sg_okvalidate:=false;
exit;
end;
解决方案 »
- 请高人帮翻译C语言的CRC校验码delphi代码
- Delphi的Enterprise 和 C/S版有什么区别
- dll 导入导出问题,源码全给出来,帮忙解一下
- 面对不公正,为什么我们老是选择沉默?
- 急需delphi 6.0 注册机
- 绝对小问题!
- 初次用DELPHI,请问Filter的值该怎么赋值?
- 在做毕业设计,遇到不少问题,大家帮忙看一下,急用!重分送上!
- 我用shelltreeview怎样回到原来的root的状态啊?
- 浮点数single和字符串之间如何相互转换?有没有现成函数
- 如何让ActiceX控件的ActiveForm有Hint提示
- (Delphi) 同行们,问大家一个简单的问题,当向数据库中的表新增一个记录时,如何让日期字段自动取当前日期作为输入值呢。要在哪里设置?我用的是BDE。
begin
if form2.ShowModal=mrok then
showmessage('ok')end;
楼主为什么加括号呢? (frmcept.ShowModal)
frmcept:=Tfrmcept.create(Self);
frmcept.ShowModal ;
sg_okvalidate := frmcept.ModaLresult = mrOK;然后你在窗体里面判断如果是确定那就
ModalResult := mrok
否则
ModalResult := mrCancel;
抱着学习和怀疑的心态,问一下各位:frmcept.ShowModal 有值吗?有的话也应该是个boolean值,表示操作是否成功?
我弄个一个类似的东西,我觉得应该是这样的:
点击你的任一个Button后,产生的值(mrOK或mrCancle)传给 ModalResult,然后判断if modalresult=mrOK,就可以了。frmcept.ShowModal要么Boolean要么没值(具体哪个我不懂),所以就算你mrOK了if (frmcept.ShowModal) = mrOk也不可能成立,还是要走eixt语句的。不知对不对,另外frmcept.ShowModal 有值吗?盼解~~
var
sg_okvalidate: Boolean;
frmcept: Tfrmcept;
begin
frmcept := Tfrmcept.Create(Self);
try
if frmcept.ShowModal = mrOk then
begin
sg_okvalidate:=true;
ShowMessage('a');
end
else begin
sg_okvalidate:=false;
ShowMessage('b');
exit;
end;
finally
frmcept.Free;
end;
end;
我自己试验了一下,完全正常的。不过和楼主的代码多少有点差别,楼主试试我的代码
frmcept:=Tfrmcept.create(Self);
if frmcept.ShowModal = mrOk then
begin
sg_okvalidate:=true;
end
else
begin
on E: Exception do
begin
ShowMessage(E.Message);
end;
sg_okvalidate:=false;
exit;
end;