|
@@ -249,11 +249,12 @@ end;
|
|
|
|
|
|
procedure TFPSList.SetCapacity(NewCapacity: Integer);
|
|
procedure TFPSList.SetCapacity(NewCapacity: Integer);
|
|
begin
|
|
begin
|
|
- If (NewCapacity < FCount) or (NewCapacity > MaxListSize) then
|
|
|
|
- Error (SListCapacityError, NewCapacity);
|
|
|
|
|
|
+ if (NewCapacity < FCount) or (NewCapacity > MaxListSize) then
|
|
|
|
+ Error(SListCapacityError, NewCapacity);
|
|
if NewCapacity = FCapacity then
|
|
if NewCapacity = FCapacity then
|
|
exit;
|
|
exit;
|
|
ReallocMem(FList, (NewCapacity+1) * FItemSize);
|
|
ReallocMem(FList, (NewCapacity+1) * FItemSize);
|
|
|
|
+ FillChar(InternalItems[FCapacity]^, (NewCapacity+1-FCapacity) * FItemSize, #0);
|
|
FCapacity := NewCapacity;
|
|
FCapacity := NewCapacity;
|
|
end;
|
|
end;
|
|
|
|
|