Зворотний зв'язок

Поняття про Component Objects Model

Якщо вам здастся, що все це ви вже чули, коли йшлося про OLE-автомат, ви будете недалекі від істини. Автоматизація OLE є не що інше, як частина моделі СОМ. Отже, якщо ми говоримо OLE, то маємо на увазі СОМ.

Що відбувається при зверненні до сом-об'єкту

При установці додатку, який грає роль серверу СОМ, в реєстрі Windows реєструється як сам додаток, так і всі його класи. Наприклад, подивіться в розділ реєстру Windows, що відноситься до Visual FoxPro, який також є сервером СОМ.

Можливості Visual FoxPro як COM-клієнта

Тепер розглянемо, які ж в цьому плані можливості програмного продукту Visual FoxPro.

ФУНКЦІЯ CREATEOBJECT ()

Як вже наголошувалося вище, за допомогою функції CREATEOBJECT () можна створити посилання на СОМ-об'єкт. Потрібно підкреслити, і це дуже істотно, що при зверненні до CREATEOBJECT () завжди створюється новий об'єкт.

Проведемо експеримент. Запустіть наступні команди з вікна команд:

Ох=CreateObject("Word.Application")

Оу=CreateObject("Word.Application")

А зараз викличте на екран діалогове вікно Close Program в Windows 95/98 (для цього потрібно натискувати ). В NT те ж саме можна зробити за допомогою Task Manager. Після цього порахуйте, скільки екземплярів додатку WinWord запущено. Їх напевно виявляться не менше два (можливо, раніше у вас ще був відкритий цей редактор).

Тепер продовжимо наші ігри. Поверніться в Visual FoxPro і звільніть змінні Ох і Оу. Більш того, можна навіть закрити взагалі додаток Visual FoxPro. Знову порахуйте, скільки екземплярів додатку знаходиться в роботі. Їх виявиться знову два. Для того, щоб позбутися запушеного додатку СОМ-серверу, потрібно звернутися до його методу Quit ().

Наш простенький експеримент виявився вельми повчальним - будьте дуже уважні при створенні СОМ-об'єктів в додатку. Перевірте, чи не був аналогічний об'єкт вже створений раніше. Врахуйте, що кожний новий додаток-сервер відтягує на себе значні ресурси пам'яті, яку можна використовувати набагато ефективніше. Якщо вам знадобиться одержати посилання на раніше запушений СОМ-об'єкт деякого класу, використовуйте функцію GetObject ().

ФУНКЦІЯ GETOBJECT ( )Функція GETOBJECT () певною мірою аналогічна за призначенням вже розглянутої функції CREATEOBJECT (). Вона приймає два параметри. Перший - ім'я файлу, який потрібно відкрити, а другий - ім'я класу, з яким передбачається працювати.

Функція GETOBJECT () застосовується в двох випадках:

-для отримання посилання на існуючий файл;

-для отримання посилання на раніше запущений додаток-сервер.

Отримання ссилки на існуючий файл

Насамперед функція GETOBJECT () може бути використана для отримання посилання на файл, зареєстрований в OLE-розділі системного реєстру.

Припустимо, ви хочете відкрити файл BUDGET.XLS, який знаходиться в кореневому каталозі диска С:. Виконати це можна двома способами. Перший - створити земпляр сом-серверу Excel функцією CREATEOBJECT () і потім викликати його метод для відкриття файлу, що цікавить вас. Другий - безпосередньо відкрити файл функцією GETOBJECT ():


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат