Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER)

C

cwang

Hello,
I am writing a program to convert a bunch of ppt files into JPEG files. Here
is the description of my program:

try {
Application pptApp = new Application();
foreach (pptFile in pptFiles) {
Presentation pres = pptApp.Presentations.Open(pptFile,
Microsoft.Office.Core.MsoTriState.msoTrue,

Microsoft.Office.Core.MsoTriState.msoFalse,

Microsoft.Office.Core.MsoTriState.msoFalse);
pres.SaveAs(folder, PpSaveAsFileType.ppSaveAsJPG,
Microsoft.Office.Core.MsoTriState.msoTrue);
pres.Close();
} catch (Exception e) {
System.Console.WriteLine(e.Message);
}

pptApp.Quit();


After running a while, I got the error message as: The message filter
indicated that the application is busy. (Exception from HRESULT: 0x8001010A
(RPC_E_SERVERCALL_RETRYLATER)).
My qyestions are:
1. What does this mean?
2. How to solve the problem?
3. How to check if the Powerpnt application is running and get it before I
call "new Applicaion"?

Thanks a lot!
 
C

Chirag

cwang said:
Hello,
I am writing a program to convert a bunch of ppt files into JPEG files.
Here
is the description of my program:

try {
Application pptApp = new Application();
foreach (pptFile in pptFiles) {
Presentation pres = pptApp.Presentations.Open(pptFile,

Microsoft.Office.Core.MsoTriState.msoTrue,

Microsoft.Office.Core.MsoTriState.msoFalse,

Microsoft.Office.Core.MsoTriState.msoFalse);
pres.SaveAs(folder, PpSaveAsFileType.ppSaveAsJPG,
Microsoft.Office.Core.MsoTriState.msoTrue);
pres.Close();
} catch (Exception e) {
System.Console.WriteLine(e.Message);
}

pptApp.Quit();


After running a while, I got the error message as: The message filter
indicated that the application is busy. (Exception from HRESULT:
0x8001010A
(RPC_E_SERVERCALL_RETRYLATER)).
My qyestions are:
1. What does this mean?
2. How to solve the problem?

See if the following link applies to your case:
http://support.microsoft.com/kb/246018
3. How to check if the Powerpnt application is running and get it before I
call "new Applicaion"?

In .net, this would be through the Marshal object:
System.Runtime.InteropServices.Marshal.GetActiveObject("PowerPoint.Application")

If you get an active instance, you should not call Quit() on it otherwise
the other folks may end up with dangling references.

- Chirag

PowerShow: View multiple PowerPoint slide shows simultaneously
http://officeone.mvps.org/powershow/powershow.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top