мая 27, 2009

FPC 2.2.4

Полтора месяца прошло с появления FPC 2.2.4. С паскалем я, к сожалению, все это время дела не имел (использовал CodeGear Delphi 2009), а вот сегодня наконец пришлось.

Полный лог изменений в FPC 2.2.4.

Самое значимое - это полноценная поддержка generic'ов. А этого я ждал долго :) Теоретически, они были и раньше, но по факту при попытке специализации какого-то дженерика вываливалась ошибка "202 runtime error".

В скором времени перепишу паскалевский синтаксис в виме, чтобы слова generic и specialize подсвечивались.

Код с тестовым примером:


generic TList<TItem> = class(TObject)
var private
  FItems: Array Of TItem;
public
  procedure SetLength(Len: Integer); inline;
  function High: Integer; inline;
  function Length: Integer; inline;
  procedure Add(Item: TItem);
  procedure Del(Item: TItem; All: Boolean = True);
  function Find(Item: TItem): Integer;
  function GetItem(Index: Integer): TItem; inline;
  procedure SetItem(Index: Integer; Item: TItem); inline;
  property Items[Index: Integer]: TItem read GetItem write SetItem; default;
end;
TListOfInteger = specialize TList<Integer>;
TListOfString = specialize TList<String>;



Комментариев нет:

Отправить комментарий

Постоянные читатели

Обо мне

Моя фотография
Мой e-mail: vitek_03(at)mail(dot)ru