[python-win32] COM - question about DynamicPolicy.py
wccppp
wccppp at gmail.com
Wed Mar 1 11:17:34 CET 2006
Hello group,
I was reading Chapter 12 of Python Programming on Win32 and trying to mimic
the sample code DynamicPolicy.py. I wanted to expose methods/properties
defined in the module os. Here is what I did. I only made very minor
changes to the original code. It seems the COM server was registered. At
least there was no error message. But when I tried testing it with VBA,
nothing worked.
Python code:
# DynamicPolicy.py -- A demonstration of dynamic policies in PythonCOM
import os
import pythoncom
import pywintypes
import winerror
import types
from win32com.server.exception import COMException
def FixArgs(args):
( I maded no change to this funtion)
class PythonModuleOs:
_reg_progid_ = "pymodule.os"
_reg_clsid_ = "{67C9267A-55EE-4B17-A556-4FA34F42EE3F}"
_reg_policy_spec_ = "DynamicPolicy"
def _dynamic_(self, name, lcid, wFlags, args):
the only change i made with this function is I changed
try:
item = getattr(string, string.lower(name))
to
try:
item = getattr(os, os.listdir(name))
VBA code for testing:
Public Sub TestCOMServer()
Dim pym As Variant
Set pym = CreateObject("pymodule.os")
MsgBox pym.listdir("C:\Temp")
End Sub
I got an error message:
"No such file or directory: 'listdir'
Can someone show me what needs to be done in order to create a COM server to
expose other python modules? Btw, I didn't copy & post the original code
because I'm not sure if it is ok to do so.
Thank you.
Regards,
- wcc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20060301/7217fd02/attachment.html
More information about the Python-win32
mailing list