在Delphi中,“ReturnAddress”是什么意思?
浏览System.Zip(Delphi XE2)看看它是如何工作的,我发现这个功能:
procedure VerifyWrite(Stream: TStream; var Buffer; Count: Integer); begin if Stream.Write(Buffer,Count) <> Count then raise EZipException.CreateRes(@SZipErrorWrite) at ReturnAddress; end; 这是在ReturnAddress部分,令我难以置信。 我不知道那是一个有效的关键字(语法荧光笔似乎也不认识它)。 根据IDE,它被声明为System.ReturnAddress,但是我只能在程序_HandleAnyException的(asm)代码中找到它被声明为一个标签。系统单元充满了对它的引用。 所以我想知道的是这样的: 什么是ReturnAddress? 奖励积分,如果你能给出一个真实世界的例子,说明这将是一个有用的结构,或者你可以建议不要使用它。 解决方法
ReturnAddress是VerifyWrite在完成时返回的地址。
提升异常。在ReturnAddress中创建…意味着当显示异常对话框时,它会将异常的地址指示为ReturnAddress。换句话说,异常消息将读取Exception< whatever>在< ReturnAddress> ;:<异常消息> ;. 这是Delphi 7的帮助文件的摘录。它几乎和the online version相同。
注意最后一句话。关于使用< address> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |