У тебя PostThread — не переменная, а тип. Поэтому код
type
PostThread = class (TThread)
end;
PostThread.Create(true);
срабатывает, но результат конструктора
PostThread.Create
уходит в никуда. А вызовы
PostThread.Resume
и тому подобные невозможны — они не классовые. Надо примерно так…
type
TPostThread = class (TThread)
end;
var
PostThread : TPostThread;
…
PostThread := TPostThread.Create(true);
PostThread.Resume; // Suspend, Terminate и так далее…
…
PostThread.Free; // Ну и убить его, наконец!
Твоя ошибка: незнание жизненного цикла объекта; возможно, обучение на Turbo Pascal, в котором всё слегка не так.