delphi 里面的try问题
begintrymessagebox(strtoint(edit1.Text),strtoint(edit2.Text));except//showmessage('我不...
begin
try
messagebox(strtoint(edit1.Text),strtoint(edit2.Text));
except
//showmessage('我不知道你输入的是什么东西!');
messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);
end;
end;
上面的showmessage 没问题.但是用messagebox就提示这错误了
但是.这语法上没有错啊.我在其它程序上用.没有出错的
为什么在这个程序里面用就出错了 展开
try
messagebox(strtoint(edit1.Text),strtoint(edit2.Text));
except
//showmessage('我不知道你输入的是什么东西!');
messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);
end;
end;
上面的showmessage 没问题.但是用messagebox就提示这错误了
但是.这语法上没有错啊.我在其它程序上用.没有出错的
为什么在这个程序里面用就出错了 展开
展开全部
1、MessageBox的第二个参数是PWideChar,即字符串格式,你的StrToInt(Edit2.Text)的返回值是整型的,当然会触发异常了。
2、在异常处理语句中,ShowMessage();要求的参数是字符串形式,showmessage('我不知道你输入的是什么东西!');这个语法上没有问题。
3、在异常处理语句中,messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);这个参数格式也正确,语法上没有问题。
4、解决办法:按第二个MessageBox的格式,把Try部分的MessageBox参数改一下即可。只要参数正确,这个语句可以不用Try的(但你的StrToInt函数,可能在Edit中的值无法转换成整型时触发异常)。
2、在异常处理语句中,ShowMessage();要求的参数是字符串形式,showmessage('我不知道你输入的是什么东西!');这个语法上没有问题。
3、在异常处理语句中,messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);这个参数格式也正确,语法上没有问题。
4、解决办法:按第二个MessageBox的格式,把Try部分的MessageBox参数改一下即可。只要参数正确,这个语句可以不用Try的(但你的StrToInt函数,可能在Edit中的值无法转换成整型时触发异常)。
追问
对啊.就是判断对方输入的不是数字的时候判断.那要怎么改啊
追答
Delphi 2010以上的版本,TEdit有个属性NumbersOnly,设置为True就可以了,不需要写代码的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询