TStringList - странное поведение

16-битный Delphi 1 (да, он старый, но работает хорошо)

Пример кода:

procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
begin

  SL := TStringList.Create;
  SL.Sorted := True;
  SL.Duplicates := dupIgnore;

  SL.AddObject('A', TObject(100));
  SL.AddObject('A', TObject(999));
  ShowMessage(IntToStr(LongInt(SL.Objects[0]))); {A}

  SL.Free;

end;

Я использую поле Object для хранения longint (хак, да, но он получает Работа выполнена). В любом случае, в строке A выше я ожидал, что ShowMessage покажет 100, вместо этого он покажет 999 (даже если установлен dupIgnore). Я что-то упустил? Или это должно работать следующим образом (я ожидал, что список строк будет игнорировать 999)?

5
задан FrankCM 1 November 2010 в 16:34
поделиться