Распределенные приложения: контроллеры автоматизации. Часть 2. Фертиков В.В. - 28 стр.

UptoLike

Составители: 

28
многие описанные в ней методы и свойства требуют передачи специального
входного параметра lcid (local ID) 32-битового идентификатора локализа-
ции, используемого в системе языковой поддержки Win32 National Language
Support. Рассмотрите, например , фрагмент IDL-описания интерфейса
_Application, включающий метод SaveWorkspace и свойства Visible и
Width:
[
uuid(000208D5-0000-0000-C000-000000000046),
helpcontext(0x00020001),
dual,
oleautomation
]
interface _Application: IDispatch
{ ...
[id(0x000000D4), helpcontext(0x000100D4)]
HRESULT _stdcall SaveWorkspace(
[in, optional] VARIANT Filename, [in, lcid] long lcid );
...
[propget, id(0x0000022E), helpcontext(0x0001022E)]
HRESULT _stdcall Visible([in, lcid] long lcid,
[out, retval] VARIANT_BOOL * RHS );
[propput, id(0x0000022E), helpcontext(0x0001022E)]
HRESULT _stdcall Visible([in, lcid] long lcid,
[in] VARIANT_BOOL RHS );
...
[propget, id(0x0000007A), helpcontext(0x0001007A)]
HRESULT _stdcall Width([in, lcid] long lcid,
[out, retval] double * RHS );
[propput, id(0x0000007A), helpcontext(0x0001007A)]
HRESULT _stdcall Width([in, lcid] long lcid,
[in] double RHS );
...
};
Несколько по- иному, нежели в программе с Variant, организована рабо-
та со свойствами Cells и Range интерфейса _Worksheet. Приведем их опи-
сания на IDL из библиотеки типов:
interface _Worksheet: IDispatch
{ ...
[propget, id(0x000000EE), helpcontext(0x000100EE)]
HRESULT _stdcall Cells([out, retval] Range ** RHS );
...
                                    28
многие описанные в ней методы и свойства требуют передачи специального
входного параметра lcid (local ID) – 32-битового идентификатора локализа-
ции, используемого в системе языковой поддержки Win32 National Language
Support. Рассмотрите, например, фрагмент IDL-описания интерфейса
_Application , включающий метод SaveWorkspace и свойства Visible и
Width :

[
    uuid(000208D5-0000-0000-C000-000000000046),
    helpcontext(0x00020001),
    dual,
    oleautomation
]
  interface _Application: IDispatch
{     ...
   [id(0x000000D4), helpcontext(0x000100D4)]
   HRESULT _stdcall SaveWorkspace(
     [in, optional] VARIANT Filename, [in, lcid] long lcid );
      ...
   [propget, id(0x0000022E), helpcontext(0x0001022E)]
   HRESULT _stdcall Visible([in, lcid] long lcid,
     [out, retval] VARIANT_BOOL * RHS );
   [propput, id(0x0000022E), helpcontext(0x0001022E)]
   HRESULT _stdcall Visible([in, lcid] long lcid,
     [in] VARIANT_BOOL RHS );
      ...
   [propget, id(0x0000007A), helpcontext(0x0001007A)]
   HRESULT _stdcall Width([in, lcid] long lcid,
     [out, retval] double * RHS );
   [propput, id(0x0000007A), helpcontext(0x0001007A)]
   HRESULT _stdcall Width([in, lcid] long lcid,
     [in] double RHS );
      ...
};

      Несколько по-иному, нежели в программе с Variant, организована рабо-
та со свойствами Cells и Range интерфейса _Worksheet . Приведем их опи-
сания на IDL из библиотеки типов:
interface _Worksheet: IDispatch
{    ...
  [propget, id(0x000000EE), helpcontext(0x000100EE)]
  HRESULT _stdcall Cells([out, retval] Range ** RHS );
     ...