Click here to Skip to main content
13,596,541 members
Rate this:
Please Sign up or sign in to vote.
See more:
I have an MFC MDI application with the automation layer implemented as dual interface. So the the early and late binding clients are supported.
With the early binding clients as C#, etc. everything is fine, but late binding clients in this case the Excel, VBA report the "Run-time error '438'. Object doesn't this property or method.".
Looks like the late binding clients do not see some of the methods from COM interface.
Does enybody encountered this kind of problem?
And what could be the resolution.
Any kind of suggestions appreciated.
Posted 4-Jan-13 4:11am
Rate this: bad
Please Sign up or sign in to vote.

Solution 1


It looks like you have typelibrary linked or objects idl with different version of
the app than actual ocx.
Does your issue happend due calling some methods?

Some useful information I think you can find here:[^]

oleg63 10-Jan-13 11:58am
Thanks Max,

Yes, some methods are affected, some are not during the Excel VBA calls.
The same routines doesn't work if I call them from MATLAB.
Interestingly the MATLAB can see the all COM interface methods, but when I try to call problematc ones, it reports - "Error: method or property not found".
Maxim Kartavenkov 10-Jan-13 12:41pm
You also can try retrieve methods at runtime from IDispatch and invoke them directly without binding.
oleg63 10-Jan-13 13:16pm
But everything must work from Excel as well.
Now I'm checking on proper TLB embedment inside the executable.
Maxim Kartavenkov 10-Jan-13 13:26pm
try to look at that posts: maybe you will find some useful things:
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Maybe you've something in the methods that are failing that is not automation-compatible.

If you post the declaration of the failing method (IDL/C++) then it maybe possible to identify what.

The following subject lists Automation Compatible Types[^]
oleg63 11-Jan-13 17:17pm
Thanks Rob,
But I use only automatin types. It was verified on first place.
I have a very heavy project, now I'm stripping down it to purely MFC MDI project.
Just making sure another application stuff is not affecting the COM interface.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Cookies | Terms of Service
Web01-2016 | 2.8.180621.3 | Last Updated 11 Jan 2013
Copyright © CodeProject, 1999-2018
All Rights Reserved.
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100