Поняття про Component Objects Model
змінюється
nSettinga Це необов'язковий числовий параметр, який визначає спосіб обміну
масивами з COM-об'єктом. В табл. 20.2 приведені його можливі
значення. Якщо цей параметр опушений, функція повертає поточну
установку для даного сом-об'єкту
Таблиця 20.2. Спосіб передачі масиву в СОМ-об'єкт при різних значення параметра nSettings
Значення nSettingsОпис
0Перший елемент масиву має індекс 0, і масив передається в СОМ-об'єкт по значенню
1 (за замовчуванням)Перший елемент масиву має індекс 1, і масив передається в СОМ-об'єкт по значенню. Така настройка сумісна з попередніми версіями Visual FoxPro
10Перший елемент масиву має індекс 0, і масив передається в СОМ-об'єкт по ссилці
11Перший елемент масиву має індекс 1, і масив передається в СОМ-об'єкт по ссилці
Зверніть увагу - настройка у функції сприймається системою тільки при передачі масиву в СОМ-об'єкт з використанням наступного синтаксису:
oObject.Method(@laArray)
Якщо в цьому виразі опустити символ (@), то в СОМ-об'єкт буде переданий тільки перший елемент масиву і всі настройки, виконані в ComArray (), будуть проігноровані.
Visual FoxPro як СОМ-сервер
Ми зараз, власне, розглянули, як використовувати в додатку Visual FoxPro звернення до інших СОМ-серверів. Але цим можливості СОМ-технології в поєднанні з Visual FoxPro не вичерпуються. Можна створити в середовищі Visual FoxPro власний СОМ-сервер. Про це піде мова в розділі 22. Але спочатку в розділі 21 ми розглянемо на прикладах технологію програмування додатку - клієнта СОМ в середовищі Visual FoxPro, яке здатне взаємодіяти з іншими додатками з обширного "гардероба" Microsoft Office.
Управління об'єктами СОМ-додатку
Зверніть увагу на код на самому початку програми CustRpt.PRG, який організовує запуск Excel. Спочатку викликається функція GetObject (), а потім, якщо GetObject () поверне NULL, CreateObject (). Це зроблено для того, щоб запобігти повторному запуску Excel.
Таку ж методику запуску можна застосувати і до будь-якого іншого СОМ-серверу. Тут мимовільно виникає ідея створити універсальну процедуру запуску СОМ-серверу. Програмний код такої процедури приведений в лістингу 21.5. Прогляньте цей лістинг - численні коментарі допоможуть розібратися в деталях виконання процедури.
Лістинг 21.5.21Code05 - процедура запуску СОМ-серверу
*- Програма..: GETCOMINSTANCE.PRG