好吧,我目前是一个11年级的学生,这是IT。我正在尝试完成一项实用任务,但遇到了一些问题,我正在使用的教科书没有告诉我如何在用户没有将数据输入到RichEdit中时创建错误消息。任何人都可以告诉我如何做到这一点?感谢您花时间帮助。创建错误消息德尔福7
回答
这是你如何养育一个通用的异常(使用SysUtils.Exception
类):
raise Exception.Create('Error Message');
未处理的异常会导致执行路径逃入德尔福RTL的内部默认的异常处理程序,它会再次出现对用户的价值Exception.Message
。
你甚至可以处理自己的异常这样的:
try
...
raise Exception.Create('Error Message');
...
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
你不会真正做到这一点,虽然。您引发异常,以便调用您的方法的代码可以处理该错误。
如果您想在其他地方(在调用者中)处理错误,请引发异常。
要简单的显示系统标准的错误对话框,您可以使用MessageDlg
:
MessageDlg('Error Message', mtError, [mbOK], 0);
在这种情况下,窗口的标题是简单的“错误”。如果你必须设置一个标题,使用CreateMessageDialog
:
with CreateMessageDialog('Error Message', mtError, [mbOK], mbOK) do
begin
try
Caption := 'Error Caption';
ShowModal;
finally
Release;
end;
end;
的Exception
类是在System.SysUtils
。 MessageDlg
和CreateMessageDialog
在Vcl.Dialogs
。
或者使用TApplication.MessageBox()
方法:
Application.MessageBox('Error Message', 'Error Caption', MB_OK or MB_ICONERROR);
或者,如果使用'TApplication.MessageBox()'或'Winapi.MessageBox()'而不是'MessageDlg()',则可以将标题设置为输入参数。 –
@RemyLebeau,感谢您提高答案。 –
要考虑的另一件事是创建自己的异常类型,例如'ENoContent',它允许更系统地捕获某些类型的异常,然后通过一个消息框在一个地方进行通用处理等。 –
- 1. 创建德尔福
- 2. 创建动画splashscreen德尔福7
- 3. 选择目录错误...德尔福7
- 4. 在德尔福7
- 5. 德尔福7 __ArrayList
- 6. 德尔福XE8错误阅读从德尔福7版本创建的文本文件,反之亦然
- 7. 消耗德尔福
- 8. 德尔福TRegEx错误?
- 9. 德尔福新手错误
- 10. 德尔福loadlibrary错误()
- 11. 德尔福OOP计时器消息
- 12. 德尔福7和Windows Vista
- 13. 德尔福7继承
- 14. 德尔福7 TAdoQuery太慢
- 15. 德尔福7和事件
- 16. 德尔福7德尔福XE2 res文件问题
- 17. 翻译代码DLL注入德尔福7德尔福XE2
- 18. 转换德尔福7代码与德尔福2009年工作
- 19. 德尔福HID Delphi7和德尔福XE2
- 20. 德尔福v.Word - 如何从德尔福
- 21. 德尔福TFRAME创建/销毁
- 22. 德尔福MDI创建子窗体
- 23. 德尔福:动态创建TClientSocket
- 24. 德尔福创建组件模板
- 25. 德尔福:创建与上FORMCREATE
- 26. 德尔福7快速报告预览错误
- 27. 德尔福2007年内部错误
- 28. 德尔福DLL映像stretchdraw错误
- 29. 错误德尔福/ MySQL的/参数
- 30. 德尔福“内部错误EVA 1528”
例如这种方式'如果RichEdit1.Text =''然后MessageDlg('该字段不能为空!',mtError,[mbOK],0)'在将进行验证的事件中(通常是'OnExit'事件)。 – TLama
谢谢!那很快...现在尝试。 – DNgentle
@DNgentle一个建议是积极主动的,在把枪放下之前使用你的资源给你:-)。 –