Hello there,
Am trying to automate open office from my application developing for
MAC. Am using OO SDK 3.4.1 in Mac OSX 10.7.4. When i want to launch OO from
my application using osl/process.h: [b]osl_executeProcess[/b] using the
following code, I get error osl_Process_E_Unknown. OSL_executeprocess can
be used in Mac? Does it work for anyone to launch OO process on Mac. Any
guidance/help would be greatly appreciated.
*.......*
* .......*
* OUString appExe = OUString::createFromAscii("open -a
/Applications/OpenOffice.org.app/Contents/MacOS/scalc"); *
* OUString FileURL;*
* if(osl::FileBase::getFileURLFromSystemPath(appExe, FileURL) !=
osl::FileBase::E_None)*
* {*
* cout << "Cannot Convert Application Path to URL" << endl;*
* }*
* OUString AppArgs =
OUString::createFromAscii("/Volumes/data/test.ods");*
* oslProcessError osl_error = osl_executeProcess(FileURL.pData,
&AppArgs.pData, 1, osl_Process_DETACHED, 0, NULL, NULL, 0, &rProcess );*
* switch ( osl_error )*
* {*
* case osl_Process_E_None:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process Succeeded with
E_NONE");*
* break;*
* case osl_Process_E_NotFound:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process failed with
E_NotFound");*
* break;*
* case osl_Process_E_TimedOut:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process failed with
E_TimedOut");*
* break;*
* case osl_Process_E_NoPermission:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process failed with
E_NoPermission");*
* break;*
* case osl_Process_E_Unknown:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process failed with
E_Unknown");*
* break;*
* case osl_Process_E_InvalidError:*
* osl_freeProcessHandle( rProcess );*
* printf("\n Execute process failed with
E_InvalidError");*
* break;*
* default:*
* printf("unmapped error!\n");*
* }*
*
*
* ..........*
* ..........*
I also have tried to launch OO using Terminal application as shown below,
and i end up getting with the same error.
*OUString appExe = OUString::createFromAscii(
"/Applications/Utilities/Terminal.app");*
* OUString FileURL;*
* if(osl::FileBase::getFileURLFromSystemPath(appExe, FileURL) !=
osl::FileBase::E_None)*
* {*
* cout << "Cannot Convert Application Path to URL" << endl;*
* }*
* OUString AppArgs = OUString::createFromAscii("open
/Applications/OpenOffice.org.app/Contents/MacOS/scalc
/Volumes/data/kannana/TestLib/test.ods");*
* oslProcessError osl_error = osl_executeProcess(FileURL.pData,
&AppArgs.pData, 1, osl_Process_DETACHED, 0, NULL, NULL, 0, &rProcess );*
* ...........*
* ...........*
I can launch OO from terminal using "open". But it fails when i pass it to
osl method to launch the process..
Thanks in Advance / Anandh