win32com COMAdminCatalogObject Value method

Roger Upole rupole at hotmail.com
Mon Oct 1 23:44:41 CEST 2007


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





More information about the Python-list mailing list