Zitat von
Minz:
Kannst du denn bei deiner Variant nach 'MyProperty' suchen obwohl
ja in der Liste 'MyProperty=MyValue' drinsteht, also praktisch nach einem
Teilstring suchen (indexofname('MyProperty') )
Falls das ne Frage ist: ja
Fügt ein String mit Namen 'MyProperty' und Wert 'MyValue' ein:
MyObject.Properties.Add('MyProperty=MyValue');
Sucht nach dem Namen:
MyObject.Properties.IndexOfName('MyProperty')
Liefert den Wert vom String mit dem Namen 'MyProperty':
MyObject.Properties.Values['MyProperty']
Mehr in der
OH...
Mit Array of Variant würde es auch gehen.
Du könntest auch beides kombinieren:
Delphi-Quellcode:
protected
FProperties: TStrings;
FPropertyValues: array of variant;
function GetProperty(Index: string): variant;
procedure SetProperty(Index: string; Value: variant);
public
procedure AddProperty(Name: string; Value: Variant);
property Properties[Index: String]: Variant read GetProperty write SetProperty;
Du musst nur GetProperty, SetProperty und AddProperty schreiben (was nicht allzu schwer sein dürfte) und hast dann Zugriff über MyObject.Properties['MyProperty'] auf die Werte der Eigenschaften