Der Bug ist, dass die Property Deklaration mit index aber ohne explizite Angabe von Getter und/oder Setter möglich ist - der Compiler müsste das verhindern, und/oder nicht einfach einen Getter/Setter mit falscher Signatur aufrufen.
Denn das knallt nicht nur beim Lesen aus der
dfm sondern auch beim manuellen Setzen:
Delphi-Quellcode:
var
s: TSecondComp;
begin
s := TSecondComp.Create;
s.TestProp := ''; // peng!
Delphi-Quellcode:
Project1.dpr.44: s.TestProp := '';
0041D567 33C9 xor ecx,ecx
0041D569 BA01000000 mov edx,$00000001 // <- index
0041D56E A1A4584200 mov eax,[$004258a4]
0041D573 E86CD2FFFF call TFirstComp.SetTest