29得票2回答
如何使用类助手访问类的严格私有成员?

这是一个跟进问题:如何隐藏对象的受保护过程? (我对类助手的整个概念有点模糊) 假设我有一个类,像这样:type TShy = class(TObject) strict private procedure TopSecret; private procedure DirtyLa...

17得票2回答
访问Delphi类的严格保护属性?

我需要访问一个严格保护的属性,因为我需要创建一个基于此属性值的验证来避免错误。(我没有这个属性所在的第三方类的源代码,只有类(接口)定义和dcu文件,因此无法更改属性可见性)。问题是是否存在一种访问严格保护属性的方法?(我确实阅读了Hallvard Vassbotn博客,但没有找到关于这个特定...

11得票3回答
通用类的类助手?

我正在使用Delphi 2009。是否可以为泛型类编写类助手,例如TQueue?很明显TQueueHelper <T> = class helper of TQueue <T> ... end; 无法正常工作,也不行TQueueHelper = class help...

11得票4回答
使用两个记录辅助器来处理字符串类型是否可行?

我创建了这个帮助程序来为 string 类型添加一些更多的函数:type AStringHelper = record helper for string function Invert: string; overload; function InvertMe: strin...

11得票3回答
如何在Delphi 10.1 Berlin中从一个类助手访问私有字段?

我想要使用Gabriel Corneanu的jpegex,它是一个用于jpeg.TJPEGImage的类帮助器。通过阅读这个和这个,我了解到在Delphi Seattle之后,像jpegex所做的那样不能再访问私有字段(以下示例中的FData)。如David Heffernan所建议的那样对V...

10得票10回答
在开发新代码时,应该使用类助手吗?

Delphi 8引入了类助手,用于将VCL/RTL映射到.NET对象层次结构。它们允许向现有类中注入方法,而不需要覆盖类或修改原始类。后续版本的Delphi发现类助手得到了改进,并被移植到Win32。 在帮助文档中,它说“它们不应该被视为开发新代码时使用的设计工具。” 类助手违反了传统的面...

10得票1回答
“祖先列表”在类助手语法中的目的是什么?它在哪里有记录?是否有任何使用示例?

包括最新版本的所有文档都给出了以下类/记录辅助语法:type identifierName = class|record helper [(ancestor list)] for TypeIdentifierName memberList end; 它只是解释了什么......

8得票1回答
Delphi 类助手 RTTI GetMethod

假设我有一个样本类helper TSampleClassHelper = class helper for TSampleClass public procedure SomeHelper; end; 我做以下工作: var obj :TSampleClass; begin ...