COM, IDL, and enum

Olaf Meding OlafMeding at compuserve.com
Wed Apr 28 16:15:02 EDT 2004


How do I access the values of the enum "ERLockStatus" specified in the
(abreviated IDL) file below?

This code works fine and lets me call the methods of the user
interface.
  import win32com.client
  ui = win32com.client.Dispatch('ERFile.User')
  ui.someMethod()


Here is the (abreviated) IDL file:
// This file will be processed by the MIDL tool to
// produce the type library (ERFile.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

[
  uuid(bf79b6c5-47be-11d2-bacd-006008060a3a),
  version(1.0),
  helpstring("ERFile 1.0 Type Library")
]
library ERFile
{
  importlib("stdole32.tlb");
  importlib("stdole2.tlb");

  [
    object,
    uuid(bf79b6c7-47be-11d2-bacd-006008060a3a),
    dual,
    helpstring("IERecord Interface"),
    pointer_default(unique),
    nonextensible,
    hidden
  ]
  interface IUser : IDispatch { code deleted here };


  [helpstring("ER Lock Status")]
  enum ERLockStatus { 
    ls_unlocked, ls_by_caller, ls_by_another, ls_not_locked
  };

  more code deleted here

};


Thanks much in advance for your help.

Olaf



More information about the Python-list mailing list