win32com and makepy problem with LabVIEW
Mark Lumsden
marklumsden at comcast.net
Wed Apr 30 10:53:29 EDT 2003
Hi,
I'm having some problems using makepy and win32com to talk to LabVIEW
with python. I have a number of methods in LabVIEW that require "By
Ref" variable types and therefore I need to use the early binding
provided from makepy. So I run makpy on the LabVIEW server and it
generates the code correctly. However, whenever I try to initiate a
session (using win32com.client.Dispatch), it doesn't seem to enable
early binding. Forcing early binding from gencache.EnsureModule
generates a 'Library not registered' error. In addition, when I run
'makepy -i' I get the following output:
>>> Warning - could not load registered typelib
'{9A872073-0A06-11D1-90B7-00A024CE2744}'
LabVIEW 6.1 Type Library
{9A872073-0A06-11D1-90B7-00A024CE2744}, lcid=0, major=5, minor=2
>>> # Use these commands in Python code to auto generate .py support
>>> from win32com.client import gencache
>>> gencache.EnsureModule('{9A872073-0A06-11D1-90B7-00A024CE2744}',
0, 5, 2)
I believe the Warning in the first line above is at the root of the
problem.
I can work around this problem - if I rename the file
9A872073-0A06-11D1-90B7-00A024CE2744x0x5x2.py generated from makepy to
labview.py and then load this file directly. i.e.:
import labview
test=labview.Application()
Then the early-binding works and everything is fine. I can live with
this solution but I'd be happier knowing what the problem is.
Thanks,
Mark
More information about the Python-list
mailing list