Das beschriebene "Problem" liegt in dieser Routine der Delphiquellen:
Delphi-Quellcode:
procedure TStrings.SetValueFromIndex(Index: Integer; const Value: string);
begin
if Value <> '' then
begin
if Index < 0 then Index := Add('');
Put(Index, Names[Index] + NameValueSeparator + Value);
end
else
if Index >= 0 then Delete(Index);
end;
(Bei Delphi 7 in der Classes.pas zu finden.)
Eventuell könnte man eine eigene Klasse definieren, die von TStringList abgeleitet ist und dort die Methode SetValueFromIndex entsprechend den eigenen Wünschen überschreiben?
Eigentlich müsste ja nur
Delphi-Quellcode:
else
if Index >= 0 then Delete(Index)
entfallen.