Menu

It may be required to change GetClsid()

Help
Rainer
2010-03-16
2013-01-21
  • Rainer

    Rainer - 2010-03-16

    Depending on the actual used Version of the ActiveX Control, the class id may vary. I post here some changes which i needed to do:The Text Control

    /TXWrapper/tx4ole.h Di Mrz 16 14:56:45 2010
    @@ -20,7 +20,7 @@
        CLSID const& GetClsid()
        {
            static CLSID const clsid
    -           = { 0x26bd9901, 0xe7d0, 0x11dd, { 0xaa, 0x41, 0x0, 0x13, 0xd3, 0x50, 0x66, 0x7c } };
    +           = { 0x3CE7A701, 0x9BC2, 0x11DE, { 0xA4, 0xC1, 0x0, 0x13, 0xD3, 0x50, 0x66, 0x7C } };
            return clsid;
        }
        virtual BOOL Create(LPCTSTR lpszClassName,
    


    The Button Bar

    /TXWrapper/txbbar.h Di Mrz 16 14:58:00 2010
    @@ -20,7 +20,7 @@
        CLSID const& GetClsid()
        {
            static CLSID const clsid
    -           = { 0x26bd9909, 0xe7d0, 0x11dd, { 0xaa, 0x41, 0x0, 0x13, 0xd3, 0x50, 0x66, 0x7c } };
    +           = { 0x3CE7A709, 0x9BC2, 0x11DE, { 0xA4, 0xC1, 0x0, 0x13, 0xD3, 0x50, 0x66, 0x7C } };
            return clsid;
        }
        virtual BOOL Create(LPCTSTR lpszClassName,
    


    The Ruler

    /TXWrapper/txruler.h    Di Mrz 16 14:59:56 2010
    @@ -20,7 +20,7 @@
        CLSID const& GetClsid()
        {
            static CLSID const clsid
    -           = { 0x26bd990d, 0xe7d0, 0x11dd, { 0xaa, 0x41, 0x0, 0x13, 0xd3, 0x50, 0x66, 0x7c } };
    +           = { 0x3CE7A70D, 0x9BC2, 0x11DE, { 0xA4, 0xC1, 0x0, 0x13, 0xD3, 0x50, 0x66, 0x7C } };
            return clsid;
        }
        virtual BOOL Create(LPCTSTR lpszClassName,
    


    The Statusbar

    /TXWrapper/txsbar.h Di Mrz 16 14:59:56 2010
    @@ -24,7 +24,7 @@
        CLSID const& GetClsid()
        {
            static CLSID const clsid
    -           = { 0x26bd9911, 0xe7d0, 0x11dd, { 0xaa, 0x41, 0x0, 0x13, 0xd3, 0x50, 0x66, 0x7c } };
    +           = { 0x3CE7A711, 0x9BC2, 0x11DE, { 0xA4, 0xC1, 0x0, 0x13, 0xD3, 0x50, 0x66, 0x7C } };
            return clsid;
        }
        virtual BOOL Create(LPCTSTR lpszClassName,
    
     
  • Tim Bomgardner

    Tim Bomgardner - 2010-03-16

    This is a good point.  I built the wrapper on V15.0, and now have V15.1 in my possession.  The CLSID has changed, but so have some other things.  See

    http://www.textcontrol.com/en_US/support/documentation/activex/o_whatsnew1510.new1.htm

    The problem is, tx4ole.h etc. are machine generated, and so will be overwritten for each new TX release.  This is further complicated by the fact that each release may receive service packs.  The question then is, what should TXWrapper support, and how?  One option is to make TXWrapper sensitive to the version number with some conditional compilation, starting with e.g. #define TX_VERSION 15.1 in TXWrapper.h.  To avoid modifying the machine-generated files, each version of tx4ole.h etc. (suitably named, of course) would have to be included in the solution.  The down side is a lot of files, plus the need for the user to build the library instead of using the pre-built library.

    A second option, and the one I'm leaning towards, is to keep the subversion head sync'ed with the latest TX release, with tags for all earlier releases.  It's s simple matter then to generate a new zip file for each new release (suitably named, of course).  If I had been thinking, I would have named the current zip TXWrapper V15.0.  So if you get a new TX release, you just get a new TXWrapper to go with it.

     

Log in to post a comment.