тебе надо предусмотреть выход из твоих вычислений например по флагу какому-то и в обработке onClose взводить самому флаг...
Код:
var
flag: boolean = false;
//где то в коде
flag := false;
for i:=1 to 10000000 do //длинный циклы какой-то
begin
if Flag then Break;//выход из цикла
// а если надо и из подпрограммы то
if Flag then Exit;
{твоя обработка}
end;
procedure Form1.OnClose //обработчик события onClose формы
begin
flag := true;
end;
Admin: Используем тег CODE!
тогда должно будет работать