Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Extra reference after opening a file
I am having trouble with an unexplained extra reference to Excel. I'm
hoping someone here can explain. Here is some pseudo-code that illustrates what my code (that is written in C) is doing: IDIspatch * Dispatch IDIspatch * Workbooks IDIspatch * File CoCreateInstance ("Excel.Application,&IDispatch) Workbooks = PropertyGet(IDispatch,"Workbooks") File = Invoke(Workbooks,"Open","d:\test.xls") Workbooks::Release File::Release IDispatch::Release After my program terminates, I see in the XP Task Manager that an instance of Excel is still running. This does not happen if I skip the Open and related Release steps. Can anyone explain why Excel is still running? Thanks in advance. David Liebtag |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Extra reference after opening a file
In VB, this is usually because of an unreleased reference. I don't know
anything about C and COM, but I would release in the opposite order that I created IDIspatch * Dispatch IDIspatch * Workbooks IDIspatch * File CoCreateInstance ("Excel.Application,&IDispatch) Workbooks = PropertyGet(IDispatch,"Workbooks") File = Invoke(Workbooks,"Open","d:\test.xls") File::Release Workbooks::Release IDispatch::Release I have reversed the release of File and Workbook. -- Regards, Tom Ogilvy "David Liebtag" wrote in message ... I am having trouble with an unexplained extra reference to Excel. I'm hoping someone here can explain. Here is some pseudo-code that illustrates what my code (that is written in C) is doing: IDIspatch * Dispatch IDIspatch * Workbooks IDIspatch * File CoCreateInstance ("Excel.Application,&IDispatch) Workbooks = PropertyGet(IDispatch,"Workbooks") File = Invoke(Workbooks,"Open","d:\test.xls") Workbooks::Release File::Release IDispatch::Release After my program terminates, I see in the XP Task Manager that an instance of Excel is still running. This does not happen if I skip the Open and related Release steps. Can anyone explain why Excel is still running? Thanks in advance. David Liebtag |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Extra reference after opening a file
Tom,
Thanks, but I had already tried that. David |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Extra reference after opening a file
I solved the problem. The Open method returns a Workbook object. You have
to call the Workbook's Close method before releasing it. David Liebtag |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
CREATION extra FILE WHEN SAVE | Excel Discussion (Misc queries) | |||
extra blank file opening | Excel Discussion (Misc queries) | |||
Extra/empty records in CSV file | Excel Discussion (Misc queries) | |||
How can I avoid circular reference AND extra input | New Users to Excel | |||
Extra rows in csv file | Excel Programming |