das meinte ich mit "traue niemals Leuten die nicht vom Fach sind". EIn Übersetzer versteht garnicht was er da übersetzt und der verantwortliche "Programmierer" hat garnicht die Zeit alles ins kleinste Detail zu überprüfen.
Deshalb zählen im Grunde die Dokumentationen in Form eines Sourcecodes, und es ist meine erste "Amtshandlung", wenn ich eine neue Delphi version bekomme, deren
RTL Source zu lesen. Deshalb weis ich definitiv das
Unit TypInfo.pas von allen Delphiversionen der Zugriff auf Property per
RTTI virtuelle Methoden unterstützen.
Überladene Methoden (overload) können bei Property nicht gehen, warum auch. Das würde bedeuten das das nur Sinn macht wenn man auch überladene Properties deklararien könnte. Das macht höchstens Sinn bei indizierten Array[] Properties. da nur bei deren Getter/Setter ein Parameter zur eindeutigen Indentifizierung des overloads vorhanden ist. Bekannntlich kann Delphi ja keine Overloads auf Funktionen in deren Parametersignatur nur der Resulttype unterschiedlich ist. Das würde auf normale Getter/Setter Methoden dann zutreffen.
Wenn ichs mir aber recht überlege, dann wären überladene indizierbare Properties garnichtmal so schlecht. Sowas ginge dann
Delphi-Quellcode:
type
THashTable = class
private
function GetItem(const Index: String): THashItem; virtual; overload;
function GetItem(const Index: Int64): THashItem; virtual; overload;
...
public
property Item[const Index: String]: THashItem read GetItem write SetItem; overload;
property Item[const Index: Int64]: THashItem read GetItem write SetItem; overload;
end;
Hm, andererseits nimmt man dann halt einen Variant als Index.
Gruß Hagen