can't create instance of pythoncom server
Johanna
johanna.royer at gmail.com
Tue Aug 30 12:41:32 EDT 2011
Hi all,
I am trying to consume a Pythoncom server from 3ds max. I need this to be
able to call some mysql queries in python script from maxscript. I tried to
follow the steps in this article.
I created a small pythoncom server
import sys, os
def getWorkingDirectory() :
return os.path.dirname(sys.argv[0])
sys.path.append('tubeBDD')
from Database import Database
import selectBDD as select
db = Database()
# A simple Python COM server.
class PythonComUtilities:
_public_methods_ = ['getProjects']
_reg_progid_ = 'PythonCom.Utilities'
# Class ID must be new/unique for every server you create
_reg_clsid_ = '{BAC62D37-EEDF-46B3-8DED-11E842225B0E}'
def getProjects(self, string):
# self.db = Database()
projects = select.getProjects(db)
proj = ""
for p in projects:
if proj == "":
proj = p[0]
else:
proj = proj + "," + p[0]
return proj
if (__name__ == '__main__'):
print 'Registering COM server...'
import win32com.server.register as comReg
comReg.UseCommandLine(PythonComUtilities)
Then I try to call it in a maxscript (in a 3D soft):
comObj = createOLEObject "PythonCom.Utilities"
It gives me this error :
-- Runtime error: createOLEObject: can't create instance PythonCom.Utilities
Any idea what I'm doing wrong ?
Or any idea of how I could test it other than in the 3D soft ?
Cheers,
Johanna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20110830/dc14f3d0/attachment.html>
More information about the Python-list
mailing list