1

我想注册 TStrings 类的属性字符串。当我注册一个简单的属性时,我写道:

ACompiler.FindClass(ClassName).RegisterProperty(PropertyName,PropertyTypeName, PSPropType);

在 OnCompImport 事件中

ARuntimeImporter.FindClass(ClassName).RegisterPropertyHelper(GetterCodeAddress, SetterCodeAddress, PropertyName);

在 OnExecImport 事件中。但是我还没有找到任何 RegisterIndexedProperty 和 RegisterIndexedPropertyHelper 方法。

4

1 回答 1

0

需要在属性类型参数中写入:属性类型、索引类型1、索引类型2等。例如:

    ACompiler.FindClass('TStringList').RegisterProperty('Strings',' String Integer',iptRW);

并且在实现方法中,属性类型的值必须放在首位。例如:

procedure GetStringsMethod(Self: TObject; var AValue: string; AIndex: Integer);

procedure SetStringsMethod(Self: TObject; const AValue: string; AIndex: Integer);
于 2016-08-29T07:39:16.693 回答