Ludo,

Thank you for the input.

As we could probably expect, adding the quotes as you suggested made no difference in my case.

Scalc still will not open (and my app still hangs) when using the flag.

Thanks for the other info though; I did not know that.

Mark


On 07/22/2011 12:12 PM, Ludo Brands wrote:
Tried this with OO 3.3.0 (OOO330m13 and OOO330m20) on XP and it worked just
fine, with or without the commented line.
The path contains a space character which should be avoided. I would suggest
(assuming CurrentProcessFileName ins't double quoted) :

AProcess.CommandLine := '"C:\Program Files\OpenOffice.org
3\program\scalc.exe" "' + CurrentProcessFileName +'"';

Another point you need to pay attention to: scalc.exe doesn't do much more
than launching soffice.exe which in turn creates a process soffice.bin. When
you close the openoffice app, depending on your config you can still have
soffice.exe hanging around (icon in notification area of the taskbar). This
means that the wait on exit will last sometimes longer thatn you intended.
Also if soffice.exe is in your tasklist, starting scalc.exe will return the
wait on exit immediately because it will just launch a new task in the
already running soffice.exe.

Ludo


-----Message d'origine-----
De : Mark E. Skeels [mailto:[email protected]]
Envoyé : vendredi 22 juillet 2011 17:42
À : [email protected]
Objet : [Lazarus] Trying to use TProcess to run Open Office calc


Hello, All,

I'm trying to run the following code.

It runs if I leave the option line commented out.

If I uncomment the option line it hangs.

This did not happen until I downloaded the latest version of Open Office
this AM.

I was running Open Office 3.1. (worked as expected)

I am now running Open Office 3.3. (hangs and Open Office Calc never starts)

I saw the warnings about using pipes and reading information back; I am not
doing any of this; just trying to open the spreadsheet, edit it, and close
it while waiting to return in the Lazarus program.

When I reset the debugger calc opens as expected.

I'm running under Windows Vista.

Any idea what is going on, please?

   AProcess := TProcess.Create(nil);

   AProcess.CommandLine := 'C:\Program Files\OpenOffice.org
3\program\scalc.exe ' + CurrentProcessFileName;

//    AProcess.Options := AProcess.Options + [poWaitOnExit];

   AProcess.execute;

   AProcess.Free;


Thanks,
Mark


--
"If your creed and Scripture do not agree,
cut your creed to pieces,
but make it agree with this book."
~Charles Spurgeon~


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to