gpt4 book ai didi

delphi - 如何检查接口(interface)属性的可见性?

转载 作者:行者123 更新时间:2023-12-03 18:12:13 25 4
gpt4 key购买 nike

我已开始在 Delphi 2010 中编写 Web 服务并进行单元测试以确保它们按计划运行。我的代码单元测试通过了,但是一个 Web 服务方法在作为服务调用时(即通过 SoapUI)没有返回值。经过数小时的代码搜索后,我发现这是因为我的返回对象的属性不在接口(interface)的已发布部分中;他们在公共(public)部分。

我的单元测试是否有一种方法可以检查对象的变量可见性,以便我可以在将来避免这个问题?我试图找到一种使用 RTTI 的方法,但一直找不到任何东西。

最佳答案

您可以通过尝试访问该属性的 RTTI 来确定该属性是否已声明已发布。公共(public)属性没有 RTTI,发布的属性有。

是这样的:

if (GetPropInfo(myobject, "PropertyName") != null) then 
// it's published...

有关 RTTI 的更多信息,请参阅 Brian Long 的文章:http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm

关于delphi - 如何检查接口(interface)属性的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com