Einzelnen Beitrag anzeigen

Kamil

Registriert seit: 17. Aug 2002
178 Beiträge
 
#4

Re: Eigenschaften eines Objekts zur Laufzeit ergänzen

  Alt 4. Dez 2003, 22:09
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
  Mit Zitat antworten Zitat