Du kannst das ganze über einen TThread laufen lassen.
Delphi-Quellcode:
var
Thread:TThread;
begin
Thread:=TThread.Create(True);
Thread.OnExecute:=deineProzedur;
Thread.resume;
end;
Bedenke allerings das deine Prozedur Threadsicher sein muss! Schreibt deine Prozedur also sowas wie ListView.items.add(''), so musst du das umschreiben in Thread.Synchronize(Thread,Thread.addToListView('') ) oder sowas...