Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++COM
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.
Thanks.
Posted 4-Jan-13 4:11am
oleg634.6K
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hello,
 
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:http://www.vbforums.com/showthread.php?460591-RESOLVED-Runtime-error-438-Object-doesn-t-support-this-property-or-method[^]
 
Regards,
Maxim.
  Permalink  
Comments
oleg63 at 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 at 10-Jan-13 12:41pm
   
You also can try retrieve methods at runtime from IDispatch and invoke them directly without binding.
oleg63 at 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 at 10-Jan-13 13:26pm
   
try to look at that posts: maybe you will find some useful things: http://www.google.ru/search?hl=en&q=Run-time+error+%27438%27
Rate this: bad
good
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[^]
  Permalink  
Comments
oleg63 at 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
0 Dnyaneshwar@Pune 1,300
1 Sergey Alexandrovich Kryukov 802
2 Tadit Dash 305
3 ravikhoda 300
4 OriginalGriff 292
0 Sergey Alexandrovich Kryukov 11,441
1 OriginalGriff 6,930
2 Peter Leow 4,850
3 Abhinav S 3,838
4 Maciej Los 3,575


Advertise | Privacy | Mobile
Web02 | 2.8.140421.2 | Last Updated 11 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Use
Layout: fixed | fluid