Page 1 of 1

Problem with remoteExecute and IProces().Terminate

Posted: Tue Nov 08, 2005 11:24 am
by Mazinger
Hi,

I use on my app madRemote and madKernel.

The sequence is:

1. Create a process with CreateProcess API (iPH)

2. In some time, from my app, call RemoteExec to change an environment variable of iPH.

3. When my app is closing, madKernel Process(iPH).Terminate.

All works fine if I don't execute point 2. But if I execute point 2 my app generates a EExternalException when point 3 is executed.

Any idea to solve this?

Thanks.

Posted: Tue Nov 08, 2005 1:42 pm
by Mazinger
If I use Windows.TerminateProcess instead Process(iPH).Terminate all works fine.

I use madExcept too in my app.

BTW, What's the difference between Windows API TerminateProcess and madKernel's IProcess.Terminate?

Thanks

Posted: Tue Nov 08, 2005 7:47 pm
by madshi
That's quite strange, that step 2 results in problems with step 3, because madRemote.RemoteExecute and madKernel.IProcess.Terminate theoretically have nothing to do with each other.

Anyway, using Windows.TerminateProcess is basically the same as calling Process(iPH).Terminate. Actually Process(iPH).Terminate internally calls Windows.TerminateProcess, too. So you can continue to use this workaround.