type
TWorker = class
end;

type TWork = procedure of object;

//タスククラス
type
TTask = class
protected
FStat: TStat; //タスクステータス
FPrio: Word; //処理優先度
FDelay: Cardinal; //待機フレーム数
FPrev: TTask; //前タスクへのポインタ
FNext: TTask; //次タスクへのポインタ

FKill: Boolean; //キルタスクフラグ
FChng: Boolean; //チェンジコールフラグ

FWorker: TWorker;
FWork: TWork;
FAttr: Word; //タスク属性(ユーザーが自由に使用できる)

public
constructor Create(Worker: TWorker; Work: TWork);
destructor Destroy; override;
procedure Execute;
end;