Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Implementing a windowless QAxServer
QtWS25 Last Chance

Implementing a windowless QAxServer

Scheduled Pinned Locked Moved Unsolved General and Desktop
qt5.5qaxserverwindowlessactivex
3 Posts 2 Posters 1.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Emiel
    wrote on last edited by Emiel
    #1

    OK, I'm clueless by now. As a proof of concept I created some nice QAxServers implementing some analog clocks, and they work flawless. I'm asked to create a windowless ActiveX however, so I have to implement the IOleInPlaceObjectWindowless interface.

    So far I've tried to create a QAxAggregated, IOleInPlaceObjectWindowless derived class, and it gets created. I have some issues that keep me from getting an actual windowless control:

    • Somehow IID_IOleInPlaceObjectWindowless is not queried by the test container, so my nice implementation is useless.
    • IOleInPlaceObjectWindowless is a public public IOleInPlaceObject, so I would like to pass the implementation of those functions to QAxServerBase if possible, but how to get access to that instance?

    It's very well possible that I'm totally missing the point somewhere, is there someone who can point me in the right direction?

    E 1 Reply Last reply
    0
    • E Emiel

      OK, I'm clueless by now. As a proof of concept I created some nice QAxServers implementing some analog clocks, and they work flawless. I'm asked to create a windowless ActiveX however, so I have to implement the IOleInPlaceObjectWindowless interface.

      So far I've tried to create a QAxAggregated, IOleInPlaceObjectWindowless derived class, and it gets created. I have some issues that keep me from getting an actual windowless control:

      • Somehow IID_IOleInPlaceObjectWindowless is not queried by the test container, so my nice implementation is useless.
      • IOleInPlaceObjectWindowless is a public public IOleInPlaceObject, so I would like to pass the implementation of those functions to QAxServerBase if possible, but how to get access to that instance?

      It's very well possible that I'm totally missing the point somewhere, is there someone who can point me in the right direction?

      E Offline
      E Offline
      Emiel
      wrote on last edited by
      #2

      By now I found this is impossible to solve within the Qt Framework. QAxServerBase::internalActivate() calls
      OnInPlaceActivate() on the container instead of OnInPlaceActivateEx(), so a windowless QAxServer is not possible in Qt 5.5. I'll explore the options to use ATL instead, maybe that will be the solution.

      I'm hoping this post will at least save others the same frustration I've encountered.

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Hi and welcome to devnet,

        If you feel it's something that could be useful, you can check the bug report system to see if there's already something about it. If not then you could open a feature request for that.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved