On 19/04/2012 11:32 PM, jeffwe...@earthlink.net wrote:
I was having intermittent problems creating a Python COM object that I am using 
as a test/learning exercise. What I finally noticed was that when I was command 
line registering the object I was not consistent in typing the name of the 
python file.


Executing the DOS command line:
     python TestMsgBox.py -regserver
Yields the following registry entry:
     
HKEY_CLASSES_ROOT\CLSID\{a4c0208f-8888-11e1-ac67-b8ac6f92cf9d}\InprocServer32
         PythonClass = "TestMsgBox.TestMsgBox"


Executing the DOS command line:
     python TestMsgBox.py -regserver

Is the above correct, or did you mean to say "python testmsgbox.py" there?

If you did then I can guess how comtypes would come to that conclusion - python itself will think the filename is "testmsgbox.py". pywin32 has code specifically to work around this - in win32com\server\register.py there is:

moduleName = os.path.splitext(win32api.FindFiles(sys.argv[0])[0][8])[0]

which will give back the actual filename rather than the one specified. I'd see if you can find a comtypes specific mailing-list and ask the question...

...

     class TestMsgBox( comtypes.IUnknown ):
         _case_insensitive_ = True

Again, I know almost zero about comtypes, but I wouldn't expect the above to have any bearing on the case of the module filename - I'd guess that this controls whether the method/property names should be considered case sensitive (ie, whether yourobject.Foo() and yourobject.foo()) both call the same method.

HTH,

Mark

         _reg_threading_ = "Both"
         _reg_progid_ = "TestMsgBoxLib.TestMsgBox"
         _reg_desc_ = "MessageBox sample for testing"
         _reg_clsctx_ = comtypes.CLSCTX_INPROC_SERVER | 
comtypes.CLSCTX_LOCAL_SERVER
         _reg_clsid_ = "{a4c0208f-8888-11e1-ac67-b8ac6f92cf9d}"

     if __name__ == "__main__":
         from comtypes.server.register import UseCommandLine
         UseCommandLine(TestMsgBox)

I don't know if this was intended behavior but I had not seen it documented.
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32



_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to