Article ID: 242375 - Last Review: May 15, 2007 - Revision: 7.3 PRB: Office 97 Automation Client Fails After Re-compilation with Office 2000 or Later Type LibraryThis article was previously published under Q242375 SYMPTOMS An Automation client that successfully automated an Office
97 application crashes with the same Office 97 application after the program is
recompiled using an Office 2000 or later type library. You might receive an
error similar to one of the following: The instruction
at 0x00000000 referenced memory at address 0x00000000. The memory could not be
read. Run-time error '-2147417851
(80010105)': Automation error CAUSE The Office 2000 or later application has a new member that
functionally replaces an Office 97 member with the same name (which is still in
the newer Office application, but is hidden.) If your automation controller
uses early binding and, more specifically, vtable binding, then the entry in
the vtable points to the binary implementation of the revised method. Because
the new implementation is not in the Office 97 application, the call fails.
RESOLUTION To work around this problem:
Note for Access Automation ClientsIf you are developing an Automation client for both Microsoft Access 97 and 2000, you should not use early binding: late binding is recommended. The Access 2000 object model was modified such that it breaks both binary (vtable) and dispid compatibility. Any client application that uses early or dispid binding to Access 97 might fail to work properly when run against Access 2000.See the "References" section below for more information. STATUS This behavior is by design. MORE INFORMATION Early-bound code, such as the following, which you might
find in an Automation client for Microsoft Word, illustrates the problem: To correct the problem, you can either:
REFERENCES
For additional information about binding in Visual
Basic, click the following article number to view the article in the Microsoft Knowledge Base:
245115
(http://support.microsoft.com/kb/245115/
)
INFO: Using Early Binding and Late Binding in Automation
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
246237
(http://support.microsoft.com/kb/246237/
)
BUG: Access 2000 Object Model Breaks Binary Compatibility
For additional informationabout developing an Automation client for multiple versions of a Microsoft Office application, click the following article number to view the article in the Microsoft Knowledge Base:
247579
(http://support.microsoft.com/kb/247579/
)
INFO: Use DISPID Binding to Automate Office Applications Whenever Possible
APPLIES TO
| Article Translations
|
Back to the top
