rc wrote: > I'm trying to convert VB code that registers COM+ components to > Python. However, I'm unable to set values on COMAdminCatalogObject > using the Value() method, it seems to think I'm trying to call the get > method. > > VB Code: > Dim cat As COMAdminCatalog > Set cat = New COMAdminCatalog > Dim apps As COMAdminCatalogCollection > Set apps = cat.GetCollection("Applications") > Dim app As COMAdminCatalogObject > Set app = apps.Add > app.Value("ID") = AppID > > > 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)
Try objCOMAdminCatalogObject.SetValue("ID", AppID). Roger -- http://mail.python.org/mailman/listinfo/python-list