Bugs item #1773724, was opened at 2007-08-14 19:22
Message generated for change (Comment added) made by mhammond
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=551954&aid=1773724&group_id=78018
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: pythonwin
Group: None
>Status: Closed
>Resolution: Fixed
Priority: 7
Private: No
Submitted By: Johan Lindvall (j_lindvall)
Assigned to: Mark Hammond (mhammond)
Summary: Selecttlb doesn't handle hexadecimal version numbers
Initial Comment:
It appears Selecttlb.py for pywin32 210 doesn't handle typelibs with
hexadecimal version numbers. After updating our app to version 10.0
(a.0), we cannot use makepy anymore
The attached patch fixed the problem.
----------------------------------------------------------------------
>Comment By: Mark Hammond (mhammond)
Date: 2007-08-25 15:09
Message:
Logged In: YES
user_id=14198
Originator: NO
Checking in selecttlb.py;
new revision: 1.9; previous revision: 1.8
----------------------------------------------------------------------
Comment By: Johan Lindvall (j_lindvall)
Date: 2007-08-15 16:31
Message:
Logged In: YES
user_id=1585378
Originator: YES
Yes, at least interactive makepy from pythonwin works without the int
calls (I even removed minor and major completely from selecttlb.py).
The bug doesn't appear with most typelibs, since their version numbers
aren't high enough. For me, this is the case with all the Microsoft Office
typelibs.
Note that the Microsoft office Typelib browser doesn't show the version
numbers at all. It only shows the typelib "helpstring". Maybe you should
remove the version number too?
----------------------------------------------------------------------
Comment By: Mark Hammond (mhammond)
Date: 2007-08-15 04:00
Message:
Logged In: YES
user_id=14198
Originator: NO
Thanks for that - at least this confirms that (a) they *should* be hex,
and (b) that even MS manages to get this wrong. I'd prefer to simply
remove the int() calls alltogether, and then fix any code which still
assumes integers. I've made that change locally, but I'm travelling, so
unable to fully test this until I get home. I'd appreciate it if you could
make a similar change (ie, remove the int() calls, and the try/except block
completely) and see if anything else breaks for you.
----------------------------------------------------------------------
Comment By: Johan Lindvall (j_lindvall)
Date: 2007-08-15 00:10
Message:
Logged In: YES
user_id=1585378
Originator: YES
Check out the following link:
http://support.microsoft.com/kb/816970
----------------------------------------------------------------------
Comment By: Johan Lindvall (j_lindvall)
Date: 2007-08-15 00:05
Message:
Logged In: YES
user_id=1585378
Originator: YES
Not sure if there is a standard, but a simple version statement like the
following actually produces a a.0:
[
uuid(...),
version(10.0),
helpstring(...)
]
library OURLIB
{
...
By googling around a bit there seems to be several apps using this scheme
(Corel Wordperfect 12)
Why disallow it in the first place?
----------------------------------------------------------------------
Comment By: Mark Hammond (mhammond)
Date: 2007-08-14 23:51
Message:
Logged In: YES
user_id=14198
Originator: NO
I'd love to find some documentation that states the tlb version numbers
are hex! Are you sure that you aren't simply creating an invalid typelib
for yourself? Office 10, for example, doesn't use hex to the best of my
knowledge.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=551954&aid=1773724&group_id=78018
|