r c wrote: > > I'm trying to convert VB code that registers COM+ components to > Python. I'm unable to set values on COMAdminCatalogObject using the > Value() method, it seems to think I'm trying to call the get method? > > ... > > Python Code: > objCOMAdminCatalog = win32com.client.Dispatch("COMAdmin.COMAdminCatalog") > objApplications = objCOMAdminCatalog.GetCollection ("Applications") > objCOMAdminCatalogObject = objApplications.Add() > print "ID", objCOMAdminCatalogObject.Value("ID") #This is returning > the random ID > # app.Value("ID") = AppID # SyntaxError: can't assign to function call > objCOMAdminCatalogObject.Value("ID", AppID) #Exception thrown > > Returns the following error: > TypeError: Value() takes at most 2 arguments (3 given)
In this case, where an indexed property had both a "Get" and a "Let" handler, the Python COM stuff generates a "Value" function for the "Get" part, and a "SetValue" function for the "Let" part. So, you want: objCOMAdminCatalogObject.SetValue("ID", AppID) -- Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32