Thanks ... I hoped for the existence of an "Error Code" for this - looks like a
wee bit more creativeness required on my part :)

Regards
Paul McKenzie

=========================
Paul McKenzie
Jetbet II Developer
=========================
[EMAIL PROTECTED]
Ph: (04) 576-6822

T.A.B. National Office
106-110 Jackson Street
Petone
New Zealand



____________________Reply Separator____________________
Subject:  RE: RE: [DUG]:  Process termination
Author:   [EMAIL PROTECTED]
Date:          16/05/2001 14:44




     Paul,

     > So there is no way to tell (via GetExitCodeProcess) when NT has
     > released all the
     > resources...

     Actually NT is notorious for keeping resources open.  This is especially a
     problem if the process opened the resources for read/write.  In that case,
     NT usually keeps the resource locked for a few seconds after the process
     terminates (to support delayed writing).  There was a M$ knowledge base
     article (can't remember the number) that spoke of a set of registry entries
     to force NT to close resources, but if you are writing software, I guess
     you
     cannot assume that those entries will be set correctly.

     The problem is worse if the resources are on a network.  Sometimes, NT
     "forgets" to close the resource all together!

     > Wouldn't the same type of thing also occur for the WaitForSingleObject
     > WaitForSingleObjectEx ?

     The same problem exists for WaitForSingleObject.  The reason I suggest them
     is I normally create a thread that calls WaitForSingleObject.  It leaves
     the
     main thread to do other stuff and not having to be bothered with polling
     GetExitCodeProcess.

     Regards,
     Dennis.

     > -----Original Message-----
     > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
     > Sent: Wednesday, 16 May 2001 14:04
     > To: Multiple recipients of list delphi
     > Subject: Re:RE: [DUG]: Process termination
     >
     >
     > So there is no way to tell (via GetExitCodeProcess) when NT has
     > released all the
     > resources...
     > Wouldn't the same type of thing also occur for the WaitForSingleObject
     > WaitForSingleObjectEx ?
     >
     > Regards
     > Paul McKenzie
     >
     > =========================
     > Paul McKenzie
     > Jetbet II Developer
     > =========================
     > [EMAIL PROTECTED]
     > Ph: (04) 576-6822
     >
     > T.A.B. National Office
     > 106-110 Jackson Street
     > Petone
     > New Zealand
     >
     >
     >
     > ____________________Reply Separator____________________
     > Subject:  RE: [DUG]:  Process termination
     > Author:   [EMAIL PROTECTED]
     > Date:          16/05/2001 13:50
     >
     >
     >
     >
     >      A success from GetExitCodeProcess does not always guarantee
     > that NT is done
     >      with the process' resources.  For example, NT may still keep
     > the EXE file
     >      locked for a short while.
     >
     >      BTW, a better function to use is WaitForSingleObject /
     >      WaitForSingleObjectEx.  Pass in the process handle.  The object is
     >      signalled
     >      when the process is terminated.
     >
     >      Regards,
     >      Dennis.
     >
     >      > -----Original Message-----
     >      > From: [EMAIL PROTECTED]
     [mailto:[EMAIL PROTECTED]]
          > Sent: Wednesday, 16 May 2001 11:27
          > To: Multiple recipients of list delphi
          > Subject: [DUG]: Process termination
          >
          >
          > Hi All
          >
          > When a Process is terminating and you are waiting for the process
          > to complete
          > its Termination, i.e. waiting on GetExitCodeProcess <> STILL_ACTIVE.
          > Does anyone know if there is a temporary state ("error code")
     returned by
          > GetExitCodeProcess, between STILL_ACTIVE and the Process Termination
          fully
          > Completed.
          > Something like "Terminating" ???
          >
          > What we are doing is running the process, waiting for it to
          > terminate, and then
          > closing the handles for the Thread and Process, and deleting the
     EXE.
          > Every now and then the close handle fails (The GetExitCodeProcess
          > succeeds) and
          > the delete fails.
          >
          > any help much appreciated...
          >
          >
          > Regards
          > Paul McKenzie
          >
          > =========================
          > Paul McKenzie
          > Jetbet II Developer
          > =========================
          > [EMAIL PROTECTED]
          > Ph: (04) 576-6822
          >
          > T.A.B. National Office
          > 106-110 Jackson Street
          > Petone
          > New Zealand
          >
          >
          >
          > ------------------------------------------------------------------
          > ---------
          >     New Zealand Delphi Users group - Delphi List -
     [EMAIL PROTECTED]
          >                   Website: http://www.delphi.org.nz
          > To UnSub, send email to: [EMAIL PROTECTED]
          > with body of "unsubscribe delphi"


     -----------------------------------------------------------------------
     ----
              New Zealand Delphi Users group - Delphi List -
     [EMAIL PROTECTED]
                            Website: http://www.delphi.org.nz
          To UnSub, send email to: [EMAIL PROTECTED]
          with body of "unsubscribe delphi"(See attached file: att1.eml)


     ---------------------------------------------------------------------------
         New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                       Website: http://www.delphi.org.nz
     To UnSub, send email to: [EMAIL PROTECTED]
     with body of "unsubscribe delphi"(See attached file: att1.eml)

att1.eml

Reply via email to