ProcessMessages i korzystanie z aplikacji

Muszę wiedzieć, czy użycie ProcessMessages, które pozwalają mi korzystać z całej aplikacji, jest legalne.

Pseudo kod:

Wywołanie przycisku głównego wątku - wyszukiwanie.

<code>procedure ButtonOnClick;
begin
    var1 = ExecuteSearch();
end;    

function ExecuteSearch:Something;
begin
 thread.StartThread;
 while thread.Finished do
 Application.ProcessMessages;
 result := something;
end;
</code>

Kiedy korzystam z tej konstrukcji, mogę kliknąć inne części mojego oprogramowania i użyć go. Ale nie wiem, jak to działa. A jeśli to bezpieczne.

questionAnswers(2)

yourAnswerToTheQuestion