devxlogo

Canceling a call to a dll

Canceling a call to a dll

Question:
In a program, I’m calling a function in a dll. The time before that function is finished can vary from a few seconds to an hour, depending on the start values and how big the problem is.

I want the user to be able to cancel if he/she thinks it takes too long, and perhaps start over with other start values.

I’ve tried to call the dll in a thread, using createThread, and then closing the thread when the user presses the cancel button. But I get strange errors, and I can’t find where they occur.

Is there another way to cancel a call to a dll?Or is there a good example of how to solve it with a thread somewhere?

Answer:
Here’s one way to do it. Declare an event in the DLL with a Boolean parameter. In the long running function, periodically raise the event and check the Boolean parameter to see whether the user canceled it.

devx-admin

Share the Post: