Dann muß man den Index aber aussparen (***).
Und wie gesagt, ich laß den Blödsinn jetzt.
Delphi-Quellcode:
procedure TMyStringList.Delete(
const Index: integer);
begin
Dec(FCount);
// ***
if Index <= FCount
then
begin
Finalize(FItems[
Index]);
if Index < FCount
then
begin
Move(FItems[
Index + 1], FItems[
Index], (FCount -
Index) * SizeOf(
string));
FillChar(FItems[FCount], Length(FItems[FCount]) * SizeOf(Char), 0);
end;
end;
FItems[FCount] := '
';
end;