Как зарегистрировать индексированное свойство в 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);