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

Reply via email to