Results 1 to 2 of 2

Thread: what shoudl I do if I can not find an interface of Activex with qaxobject

  1. #1
    Join Date
    Apr 2016
    Qt products

    Question what shoudl I do if I can not find an interface of Activex with qaxobject

    For example, Activex A has a function called "x",
    now I try to use it through mapping Activex A to Qaxobject. And I can not find the interface"x" with "dynamicCall".

    My question is whether I could do something to find the missing interface.
    Last edited by DJW602; 29th June 2016 at 08:50.

  2. #2
    Join Date
    Jan 2008
    Alameda, CA, USA
    Thanked 721 Times in 711 Posts
    Qt products
    Windows Android

    Default Re: what shoudl I do if I can not find an interface of Activex with qaxobject

    If you are calling "x" properly, through a COM object that implements and interface that contains a method or property "x", then it will be found. If your COM object implements the IOleObject interface, then QAxBase::verbs() will return a string list of the verbs that the object can execute through that interface. The QAxBase::propertyBag() returns a map that contains the names of all of the properties that can be read/written through the object. I do not know if there is a mechanism through QAxObject / QAxBase to get a list of all of the interfaces, methods, and properties exposed by an ActiveX object. However, you can always use QAxBase::queryInterface() to get a raw interface pointer and use COM methods directly to interrogate the object (in the same way the OLE/Com object viewer does.

    The OLE/Com object viewer will tell you what objects, interfaces, and methods are exposed by your COM DLL.

    I suspect that your dynamicCall is failing because of one or more of the following:

    - "x" doesn't exist in the interface(s) exposed by your QAxObject
    - you are calling it incorrectly
    - the parameters you are passing are incorrect
    <=== The Great Pumpkin says ===>
    Please use CODE tags when posting source code so it is more readable. Click "Go Advanced" and then the "#" icon to insert the tags. Paste your code between them.

Similar Threads

  1. ActiveX-javascript invoke activex interface exception
    By zhy282289 in forum Qt Programming
    Replies: 0
    Last Post: 29th October 2012, 02:58
  2. Replies: 4
    Last Post: 2nd July 2012, 09:04
  3. ActiveX interface problem
    By skyperhh in forum Qt Programming
    Replies: 4
    Last Post: 9th January 2011, 22:46
  4. Get the iDispatch interface of an ActiveX control
    By punkypogo in forum Qt Programming
    Replies: 1
    Last Post: 17th August 2010, 08:00
  5. Replies: 3
    Last Post: 3rd May 2009, 08:58

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.