I'm trying to make my program window stay painted even if another screen is activated and displayed in front of it. This program runs a bunch of external programs. I also have a duration to show how long it's been running. My problem is that while I'm waiting for the process to complete, I am trying to make the program refresh the screen so that if I move a window over it, I can still go back to the screen and see the program status. I don't feel all that confident in my understanding of the difference between update, refresh, and repaint, or what it means for an object to be invalid. I have tried a bunch of combinations, but none of them work. Here's what I have for the loop that I use to wait for the running process to complete. Thanks in advance for your assistance.
sleep( 2000 );
lblTime.Caption := FormatDateTime('nn:ss',Time - StartTime);
Result := Resultado;
until (Result <> STILL_ACTIVE) or Application.Terminated;