How do I have a client shutdown a win32 COM server?

N

Noah

Hi,

How do I shutdown a win32 COM server?

I am scripting Adobe Illustrator through its COM interface.
The problem is that Illustrator has memory leaks.
And after a few hours of running, Illustrator will start to behave
oddly
until eventually it refuses the create new COM objects.
The solution is to close Illustrator and then restart it.
This is easy if I'm sitting at my desk and can see that it has
crashed.
What I'd like to do is have the client restart the server every 10
minutes
(or when it sees a specific exception).

A COM client will automatically start the COM server if it is
not already running, but I don't know how to shutdown a COM server
that is already running.

So, how do you bounce a COM server?
If anyone has any hints I would appreciate it.

P.S. Note, that I'm pretty sure it's not the client leaking memory
because
if I shutdown the client and restart it with the same Illustrator COM
server
running it will immediately have the same problem. The COM error I get
is an "internal error" exception:
com_error: (-2147352567, 'Exception occurred.', (0, None, 'an
internal error occurred: PARM', None, 0, -2147352577), None)

Yours,
Noah
 
B

Bob Gailer

If that does not do it try:
comobject.Quit()

Bob Gailer
(e-mail address removed)
303 442 2625
 

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

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top