I'm trying to get the cancel button in uiprogressdlg to stop execution immediately. I have a loop within which I check for CancelRequested == 1, but I'm only iterating that loop a few times. Each iteration has several steps with some pretty slow function calls (lots of data pulling and processing). Is there a way to get the cancel button to interrupt the execution of whatever is going on (kind of like a programmatic ctrl-c)? I check for CancelRequested == 1 after each step, but even then, I have to wait for the completion of a step which may take several minutes.