Hi, ich bastle mir zur Zeit einen Logger der beliebige Properties eines Objects speichern soll.
Ich weiß nicht ob mein ansatz wirklich gut ist aber im Moment gehe ich wie folgt vor:
Ich habe eine TLogItem (Class) mit den Feldern Name:String und Value: String (Das ist ok denn ich bekomme die Daten per XML.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| TLogItem = class(TPersistent) private FName: string; FValue: string; procedure SetName(const Value: string); procedure SetValue(const Value: string); protected public property Name: string read FName write SetName; property Value: string read FValue write SetValue; end; |
So, JETZT KOMMT DER KNACKPUNT

, nun möchte ich ein Dynamisches Array als Property basteln. (IST DAS SINVOLL ???) Allerdings soll dies kein normalen INDEX haben sondern vom Typ TDateTime

da ich zu bestimmten zeitpunkten im Programm die eigenschaften von Objekten loggen möchte. Das sieht dann ungefair so aus :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| property LogItems[d: TDateTime]: TLogItem read GetLogItem write SetLogItem; default;
function TVACLogger.GetLogItem(d: TDateTime): TLogItem; begin end;
procedure TVACLogger.SetLogItem(d: TDateTime; const Value: TLogItem); begin end; |
NAJA aber ich weiß nicht wirklich weiter wie ich das jetzt in den Get / Set Methoden implementieren soll. Ist das überhaupt so richtig oder gibts dafür nen besseren ansatz???