pywin32 com server "cash" question

Philippe C. Martin philippe at
Tue Jul 12 19:34:19 CEST 2005


I just got the pywin32 "hello world" COM server to install and I did manage
to use it from VB 6.0.

However, there are some glitches I do not comprehend:

1) at one point I got a python runtime error telling me the "testcomserver"
was not found - I got rid of that problem by deleteting the appropriate (I
hope) registry and reregistering the server

2) If I change the source of the server 
return "Hello" + ....
return "Hello my friend " + ....

I still get "Hello BINGO" only in my VB message box. this even if I try to
re-register (which does not seem necessary) the server.

Q.1) What could that error have meant ?
Q.2) is there a way to "flush" whatever so my new code "Hello my friend"
shows up ?

The VB looks like this:

Private Sub Command1_Click()
  Dim shdemo = CreateObject("Python.TestServer")
  MsgBox (shdemo.Hello("BINGO"))
End Sub

The Python server :

class HelloWorld:
    _reg_clsid_ = "{7CC9F362-486D-11D1-BB48-0000E838A65F}"
    _reg_desc_ = "Python Test COM Server"
    _reg_progid_ = "Python.TestServer"
    _public_methods_ = ['Hello']
    _public_attrs_ = ['softspace', 'noCalls']
    _readonly_attrs_ = ['noCalls']
    #_reg_class_spec_ = "testcomserver.HelloWorld"
    def __init__(self):

        self.softspace = 1
        self.noCalls = 0
    def Hello(self, who):

        self.noCalls = self.noCalls + 1

        # insert "softspace" number of spaces

        return "Hello My Friend " + " " * self.softspace + str(who)

if __name__=='__main__':
    # ni only for 1.4!
    import  win32com.server.register 
    import pythoncom
    print pythoncom.CreateGuid()



More information about the Python-list mailing list