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

UptoLike

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

5
ку на IDispatch объекта автоматизации, совместимую по присваиванию с ва-
риантным типом.
var
Word: Variant;
begin
Word := CreateOleObject('Word.Basic');
Word.FileNew('Normal');
Word.Insert('This is the first line'#13);
Word.Insert('This is the second line'#13);
Word.FileSaveAs('c:\temp\test.txt', 3);
end;
Синтаксис вызова метода объекта автоматизации или доступа к его свой -
ству подобен таковому для обычного метода или свойства. При этом, однако,
вызовы метода автоматизации могут использовать как обычные позиционные,
так и именованные параметры . (Правда, серверы автоматизации могут и не
поддерживать именованные параметры .) Позиционный параметр это обычное
выражение. Именованный параметр состоит из идентификатора параметра,
сопровождаемого символом присваивания, с последующим выражением . Пози-
ционные параметры должны предшествовать любым именованным параметрам
вызова метода. Именованные параметры могут быть определены в любом по-
рядке.
Некоторые серверы автоматизации позволяют опускать параметры вызо-
ва метода, принимая их значения по умолчанию . Например ,
Word.FileSaveAs('test.doc');
Word.FileSaveAs('test.doc', 6);
Word.FileSaveAs('test.doc',,,'secret');
Word.FileSaveAs('test.doc', Password := 'secret');
Word.FileSaveAs(Password := 'secret', Name := 'test.doc');
Параметры методов автоматизации могут быть следующих типов:
integer, real, string, Boolean и variant. Параметр передается по ссылке,
если выражение параметра состоит только из ссылки на переменную Delphi ти-
па Byte, Smallint, Integer, Single, Double, Currency, TDateTime, An-
siString, WordBool или Variant. Если выражение имеет какой - либо другой
тип или если оно не является только переменной , параметр передается значени-
ем . Передача параметра по ссылке методу, ожидающему параметр- значение,
заставляет COM выбирать значение из параметра-ссылки. Наоборот, передача
параметра-значения методу, который ожидает параметр- ссылку , вызывает
ошибку .
Таким образом, методам автоматизации можно передавать типизирован -
ные параметры. При этом процедура маршалинга скрыта от программиста. Од-
нако самым эффективным методом передачи является обмен между клиентом и
сервером двоичными данными, описываемыми как массивы элементов типа
varByte. Для таких массивов не производится какой - либо скрытой обработки
                                     5
ку на IDispatch объекта автоматизации, совместимую по присваиванию с ва-
риантным типом.
var
  Word: Variant;
begin
  Word := CreateOleObject('Word.Basic');
  Word.FileNew('Normal');
  Word.Insert('This is the first line'#13);
  Word.Insert('This is the second line'#13);
  Word.FileSaveAs('c:\temp\test.txt', 3);
end;

      Синтаксис вызова метода объекта автоматизации или доступа к его свой-
ству подобен таковому для обычного метода или свойства. При этом, однако,
вызовы метода автоматизации могут использовать как обычные позиционные,
так и именованные параметры. (Правда, серверы автоматизации могут и не
поддерживать именованные параметры.) Позиционный параметр – это обычное
выражение. Именованный параметр состоит из идентификатора параметра,
сопровождаемого символом присваивания, с последующим выражением. Пози-
ционные параметры должны предшествовать любым именованным параметрам
вызова метода. Именованные параметры могут быть определены в любом по-
рядке.
      Некоторые серверы автоматизации позволяют опускать параметры вызо-
ва метода, принимая их значения по умолчанию. Например,
Word.FileSaveAs('test.doc');
Word.FileSaveAs('test.doc', 6);
Word.FileSaveAs('test.doc',,,'secret');
Word.FileSaveAs('test.doc', Password := 'secret');
Word.FileSaveAs(Password := 'secret', Name := 'test.doc');

      Параметры методов автоматизации могут быть следующих типов:
integer, real, string, Boolean и variant. Параметр передается по ссылке,
если выражение параметра состоит только из ссылки на переменную Delphi ти-
па Byte, Smallint , Integer , Single, Double, Currency, TDateTime , An-
siString , WordBool или Variant. Если выражение имеет какой-либо другой
тип или если оно не является только переменной, параметр передается значени-
ем. Передача параметра по ссылке методу, ожидающему параметр-значение,
заставляет COM выбирать значение из параметра-ссылки. Наоборот, передача
параметра-значения методу, который ожидает параметр-ссылку, вызывает
ошибку.
      Таким образом, методам автоматизации можно передавать типизирован-
ные параметры. При этом процедура маршалинга скрыта от программиста. Од-
нако самым эффективным методом передачи является обмен между клиентом и
сервером двоичными данными, описываемыми как массивы элементов типа
varByte. Для таких массивов не производится какой-либо скрытой обработки