Help, I am a begginer of pythonwin32
jnut
member29732 at dbforums.com
Thu May 15 22:32:12 EDT 2003
I made a python class. And test it ok.
And build it to a com.
In asp file (com.asp):
<%
set dObj = CreateObject("ImageServer.Application")
dObj.resizeTo"C:\Inetpub\wwwroot\a.jpg","C:\Inetpub\wwwroot\-
2.jpg",100
set dObj = nothing
%>
It's alway turn out a error:
Python COM Server Internal Error (0x80004005)
/com.asp, line: 3
1. How can I know the error line and what error that is?
2. Did you have a way to reload your python com? I mean , After I have
some changes done, re-register the python file, I can not see any
effect when I refresh the ie. . Maybe a few minutes later , or
restart my windows, it worked.
I can not find any document of that. And there is no any help or
documation of pythonwin32 or pythoncom in china.
Thank you all.
#file ImageServer.application
import Image
class ImageServer:
_public_methods_ = ['resizeTo']
_public_attrs_ = ['img']
_reg_progid_ = "ImageServer.Application"
_reg_clsid_ = "{159D620A-0EFE-446A-8BD3-6D706F0003AD}"
def __init__(self):
self.img = None
self.nSize = [None,None]
self.Type = ""
def resizeTo(self,sp,dp,mx):
self.img = Image.open(sp)
self.Type = self.img.tile[0][0] # maybe img.format
self.resize(self.img.size,mx)
self.img.resize(self.nSize).save(dp, self.Type)
return self.img
def resize(self,size,mx):
if size[0]>=size[1]:
self.nSize[0] = mx
self.nSize[1] = mx*size[1]/size[0]
else:
self.nSize[0] = mx*size[0]/size[1]
self.nSize[1] = mx
# Change To UnregisterClasses(YOUR_COM_CLASS_NAME)
# Change To UseCommandLine(YOUR_COM_CLASS_NAME)
if __name__ == '__main__':
import win32com.server.register,sys
if "-unregister" in sys.argv:
print "UNRegistering COM Server"
win32com.server.register.UnregisterClasses(ImageServer)
else:
print "Registering COM Server"
win32com.server.register.UseCommandLine(ImageServer)
--
Posted via http://dbforums.com
More information about the Python-list
mailing list