Hola,
Puedes investigar sobre distintos "hilos" de ejecución. En Delphi un hilo parte de la clase "TThread", y, supongo que lo mismo en C++ Builder. O tal vez, simplemente, baste conque des algún respiro a la interfaz del programa. Esto puedes conseguirlo con el método "ProcessMessages" de "Application". Algo así:
Código Delphi
[-]
begin
while true do begin
Application.ProcessMessages();
end;
end;