To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=51767
User hro changed the following: What |Old value |New value ================================================================================ Ever confirmed| |1 -------------------------------------------------------------------------------- Status|UNCONFIRMED |NEW -------------------------------------------------------------------------------- Issue type|DEFECT |ENHANCEMENT -------------------------------------------------------------------------------- Priority|P3 |P4 -------------------------------------------------------------------------------- ------- Additional comments from [EMAIL PROTECTED] Fri Oct 7 02:33:39 -0700 2005 ------- It's not up to me to blame you :-) but I feel you misunderstood some details. What you call "Microsoft Windows" to open the document is not exactly how it works. I guess you retrieve the command line assosiated with an extension from the registry and pass that string along with the document file name to your function WinExecAndWait32. For example for .doc and installed MS Office that would be "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" /n /dde filename.doc Doing that you're right. The /dde parameter forces additional winword.exe processes to stay alive as long as the window is open, so you will have multiple winword.exe processes when opening multiple documents. This happens only when openeing .doc files by the desktop shell or the way you did. For other extensions like .txt a seperate process is created for every document because notepad.exe does not consume many system resources. But for .pdf and Acrobat 7 there no seperate process for every document openend that way. OOo does not create a seperate process for every openend document even when it's done by the shell. Every new created process passes it's parameters to the already running process and terminates afterwards. This is by design. BTW: What I guess you are doing (retrieving the commandline from the registry, merging the document file name and pass that to a CreateProcess call) can easier be done by a call to the Windows API call ShellExecuteEx. You can pass the document file name without retrieving the assosiated command line and you'll get a process handle back for synchronization. But coming back to what you want OOo to act like. It is not mandatory for an application to create a new process for every single openend document. Many applications do so and other don't, so this is not a defect of OOo. Also OOo does not handle the WaitForSingleObject call, it's the OS that waits for a process to terminate and the new OOo process just terminates, that's all. Try the following: Open to .doc files with MS Word by double clicking them in the desktop shell or using your application. You'll see to winword.exe processes in the taskmanager. Now select "file Open" in the second document window and open a third document by the file open dialog. Now you have three open document windows but only two processes. Now close the two document windows openend by double clicking. You'll see that the last winword.exe process will stay alive. So what is that behaviour good for ? Answer: There are some circumstance when the behaviour of a process instance for every document is desired. F.e. many mail clients like Mozilla, Outlook Express, will start assosiated external applications when double clicking on email attachments. They create a temoprary file, pass the filename to the assosiated application, sync for procesess to terminate and delete the temporary file afterwards. They need to do so because they must now how long they have to provide the temporary file. If they would delete it before waiting for the started process to terminate the process won't be able to open file because it was deleted to fast. And if the mail client would not delete the temporary file they will rest in the file system after they are no longer used. I don't know if the intention of your application is identical to what a common mail client does. But OOo is aware of that problematic but it handles it in a different way: Every additional started OOo process makes sure that the document was loaded (in memory, or temporary file) in the "main" process before it terminates. Please describe exactly if that behaviour meets your requirements or what your intention is when waiting for the process to terminate. Changed issue type and priority --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]