can't create instance of pythoncom server

Johanna johanna.royer at
Tue Aug 30 18:41:32 CEST 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])
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]
                proj = proj + "," + p[0]
        return proj

if (__name__ == '__main__'):
    print 'Registering COM server...'
    import win32com.server.register as comReg

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 ?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list