Как зарегистрировать индексированное свойство в RemObject?

Я хочу зарегистрировать свойство Strings класса TStrings. Когда я регистрирую простое свойство, я пишу:

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

в событии OnCompImport

а также

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

в событии OnExecImport. Но я не нашел никаких методов RegisterIndexedProperty и RegisterIndexedPropertyHelper.

1 ответ

Решение

Нужно написать: тип свойства, тип индекса 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);
Другие вопросы по тегам