Zitat von
Apollonius:
Das default ist nur von Belang, wenn eine als Published deklarierte Eigenschaft mit einem TWriter in einen Stream geschrieben wird.
Ah okay
Auch wenn mir das ab "mit einem ..." nicht so viel sagt, danke für die Information.
Zitat von
Apollonius:
Kannst du mal im Konstruktor die CPU-Ansicht aufrufen und uns zeigen, was passiert?
Was hättest du den da gerne? Also ich weiß jetzt nicht ob dir das was nützt:
Code:
uIntegerList.pas.163: inherited;
0046DDF6 33D2 xor edx,edx
0046DDF8 8BC6 mov eax,esi
0046DDFA E88D5CF9FF call TObject.Create
uIntegerList.pas.164: FCount := 0;
0046DDFF 33C0 xor eax,eax
0046DE01 894608 mov [esi+$08],eax
uIntegerList.pas.165: FReserveManagment := rmExact;
0046DE04 6A00 push $00
0046DE06 8D4604 lea eax,[esi+$04]
0046DE09 B901000000 mov ecx,$00000001
0046DE0E 8B1520DD4600 mov edx,[$0046dd20]
0046DE14 E8FB85F9FF call @DynArraySetLength
0046DE19 83C404 add esp,$04
uIntegerList.pas.166: SetReserveManagment(rmExact);
0046DE1C 8BC6 mov eax,esi
0046DE1E 84DB test bl,bl
0046DE20 740F jz $0046de31
0046DE22 E82561F9FF call @AfterConstruction
0046DE27 648F0500000000 pop dword ptr fs:[$00000000]
0046DE2E 83C40C add esp,$0c
0046DE31 8BC6 mov eax,esi
0046DE33 5E pop esi
0046DE34 5B pop ebx
0046DE35 C3 ret
0046DE36 8BC0 mov eax,eax
Zitat von
DeddyH:
Und wenn Du den Konstruktor dahingehend änderst, dass Du das private Feld belegst statt der Property?
Delphi-Quellcode:
constructor TIntegerList.Create;
begin
inherited;
FCount := 0;
FReserveManagment := rmExact;
end;
Das hat keine Auswirkungen.
MfG
xZise