class-helpers相关内容

如何从 Delphi 10.1 Berlin 中的类助手访问私有字段?

我想使用 Gabriel Corneanu 的 jpegex, jpeg.TJPEGImage 的类助手.阅读this和this 我了解到,除了 Delphi Seattle,您无法再像 jpegex 那样访问私有字段确实(以下示例中的 FData).像大卫·赫弗南 (David Heffernan) 提议的那样使用 VMT 四处闲逛,这远远超出了我的范围.有没有更简单的方法来完成这项工作? ..
发布时间:2021-12-14 00:08:17 其他开发

访问 Delphi 类的严格保护的属性?

我需要访问一个严格保护的属性,因为我需要创建一个验证(基于该属性的值)以避免错误.(我没有具有此属性的第三方类的源代码)只有我有类(接口)和 dcu 的定义(因此我无法更改属性可见性).问题是存在一种访问严格受保护财产的方法吗?(我真的阅读了 Hallvard Vassbotn 博客,但我没有找到关于这个特定主题的任何内容.) 解决方案 这个类助手示例编译良好: 类型TMyOrgClass ..
发布时间:2021-12-13 23:39:17 其他开发

如何使用类助手访问类的严格私有成员?

这是一个后续问题:如何隐藏对象的受保护过程? (我对整个班级助手的概念有点模糊) 假设我有一个类: 类型TShy = 类(TObject)严格的私人程序绝密;私人的程序 DirtyLaundry;受保护程序 ResistantToChange;结尾; 我知道如果我有源代码,我可以通过在同一单元中添加后代类来访问私有方法. 我有两个问题: - 如何使用类助手来访问 strict ..
发布时间:2021-12-13 23:35:44 其他开发

如何从Delphi 10.1 Berlin中的班级助手访问私有字段?

我想使用Gabriel Corneanu的 jpegex ,是jpeg.TJPEGImage的类帮助器。 阅读此和此,我了解到在西雅图德尔福市以外,您无法访问私有字段就像jpegex一样(在下面的示例中为FData)。像David Heffernan提议的那样,在VMT上闲逛远远超出了我。有没有更简单的方法来完成此操作? type //帮助程序访问TJPEGData字段 TJPEG ..
发布时间:2020-10-20 02:17:11 其他开发

如何在一个类中封装不同的类以维护其独特的方法? (在delphi中有多个继承?)

我目前正在重写一个免费的教育性数字电路模拟器,以增加其功能的惯性.我的问题是如何将事件分派到原始类,并向它们添加预先处理.我有这样的东西: TC1 = class ID: integer; Connections : array [integer] of Pin; function Func1; virtual; function FuncN; end; TC2-1 = c ..
发布时间:2020-05-13 19:14:58 其他开发

在运行时使用RTTI查找Delphi中的所有类助手?

Delphi 2010中的扩展RTTI是否提供了一种列出定义的类和记录助手在运行时? 据我所知Delphi 不显示提示或警告,当定义了多个类助手时一个类,类帮助检测可能是“质量保证”中的一个有用的例程。 ps当然,我知道我永远不应该使用没有源代码的第三方组件或库,这样可以很容易地对类助手进行grep。 解决方案 由于类助手仅适用于基于范围中“最近”的帮助器的类,所以类根本无法知 ..
发布时间:2017-04-28 20:59:22 Delphi

应该使用助手开发新的代码吗?

Delphi 8引入了类助手,用于将VCL / RTL映射到.NET对象层次结构。它们允许将注入方法注入到现有类中,而不会覆盖该类或修改原始类。后来的Delphi版本发现了类帮助器的改进,并且被移植到了Win32中。 在帮助中,它说“他们不应该被视为一个设计工具,用于开发新代码“。 类助手违反传统的OOP,但我不认为这使他们成为坏事。这个警告是否有保证? 应该在开发新代码时使用类 ..
发布时间:2017-04-24 22:13:59 Delphi

是否可以使用两个记录助手的字符串类型?

我创建了这个帮助器,以便为字符串添加一些更多的功能类型: 类型 AStringHelper =字符串的记录助手 function Invert:string;超载; 函数InvertMe:string;超载; 结束 但是当我在代码中使用它时, TStringHelper System.StrUtils “出来”,我不能使用它的功能。 是吗可能两者共存? ..
发布时间:2017-04-23 23:50:29 Delphi

访问Delphi类的严格保护属性?

我需要访问严格受保护的属性,因为我需要创建验证(基于此属性的值)以避免错误。 (我没有具有此属性的第三方类的源代码)只有我有类(接口)和dcu(所以我不能更改属性可见性)的定义。问题是存在一种访问严格保护财产的方法? (我真的读了哈尔沃特Vassbotn博客,但是我没有找到关于这个特定主题的内容。) 解决方案 这个类助手示例编译好: type TMyOrgClass = cla ..
发布时间:2017-04-23 12:46:15 Delphi

如何使用类助手访问严格的私人成员类?

这是一个后续问题:如何隐藏对象的受保护的过程? (我对整个类帮助器概念有点模糊) 假设我有一个类: type TShy = class(TObject) strict private procedure TopSecret; private procedure DirtyLaundry; protected procedure ResistantToC ..
发布时间:2017-04-23 12:43:21 Delphi