Python, VB and COM

N

Nick Leaton

I have a class built as a class library. It makes
a Test.dll, and I can call this from other VB projects

class PyTest

private _name as string

Public Property Name() as string
Get
return _name
End Get
Set (byval value as string)
_name = value
End Set
End Property

End Class

Then I was expecting to do something like

import win32Com.client

pt = win32com.client.Dispatch ("Test.PyTest")
pt.Name = "fred"
print pt.Name

However it doesn't look like the Test.dll is known.
Any pointers?

Thanks

Nick
 
S

Steve Holden

Nick said:
I have a class built as a class library. It makes
a Test.dll, and I can call this from other VB projects

class PyTest

private _name as string

Public Property Name() as string
Get
return _name
End Get
Set (byval value as string)
_name = value
End Set
End Property

End Class

Then I was expecting to do something like

import win32Com.client

pt = win32com.client.Dispatch ("Test.PyTest")
pt.Name = "fred"
print pt.Name

However it doesn't look like the Test.dll is known.
Any pointers?

Thanks

Nick
Well, first of all it would have been easier to deal with your specific
problem if you'd copied the error message you got.

Exercising my psychic powers. I'll assume you saw something like

pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

The best advice I can give is as follows:

1. Start pythonWin
2. Bring up Help | PythonWin Reference
3. Follow the win32com ReadMe link under "Python COM"
4. Follow the "win32com documentation index" link
5. Follow the "A quick start to Client Side COM" link.

The document you reach (yes, accessible, isn't it - I have learned to
accept that in the open source world some people program and some people
write documentation, but the two sets rarely coincide) will explain the
linkages between COM Objects and win32com, and the section under "To
generate Python sources supporting a COM object" is probably what you need.

regards
Steve
 
N

Nick

Thanks Steve.

I eventually found the library. Running makepy over the library
produced the requisite file.

Its working.

Help appreciated.

Nick
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,528
Members
45,000
Latest member
MurrayKeync

Latest Threads

Top