- Код: Выделить всё
TDyn = record
FCurrent: sizeInt;
...........
class operator Initialize(var aRec: TDyn);
class operator Finalize(var aRec: TDyn);
function MoveNext: boolean; inline;
property Current: sizeInt read FCurrent;
class operator enumerator(i: sizeInt): TDyn;
end;
........
function TDyn.MoveNext: boolean;
begin
Inc(FCurrent, ItemSize);
Exit(FCurrent < High);
end;
class operator TDyn.enumerator(i: sizeInt): TDyn;
begin
Result.FCurrent := -1;
end;
Но в основной программе энумератор не видится
- Код: Выделить всё
var
ar2: TDyn;
i: sizeint;
begin
for i in ar2 do Write(' ', i); /// project1.lpr(129,12) Ошибка: Cannot find an enumerator for the type "TDyn"
Что я не так сделал.. Просто очень мало про энумераторы, применительно к записям вообще есть....