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

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

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

в событии OnCompImport

а также

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

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


person Alexey Ignatenko    schedule 19.08.2016    source источник
comment
Я ничего не знаю о RemObjects, но не будет ли RegisterProperty() обрабатывать какое-либо свойство, независимо от того, проиндексировано оно или нет?   -  person Remy Lebeau    schedule 20.08.2016


Ответы (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);
person Alexey Ignatenko    schedule 29.08.2016