Фундаментальный класс Pool Manager управляет пулом, или коллекцией, объектов из одного класса. Когда вам требуется многократно и краткосрочно использовать объект, используйте класс Pool Manager.
Категория | Информация класса |
---|---|
Каталог размещения по умолчанию |
Visual FoxPro Catalog\Foundation Classes\Application |
Класс |
_poolmanager |
Базовый класс |
Custom |
Библиотека класса |
_poolmanager.vcx |
Родительский класс |
Custom |
Образец использования |
...\Samples\Solution\Ffc\_PoolManager.scx |
Примечания
С этим классом лучше работать тогда, когда создание экземпляра объекта требует большего времени, чем получение уже существующего экзепляра. В общем случае это справедливо по отношению к перечисленным ниже типам классов:
-
"Тяжелые" классы наподобие класса Visual FoxPro - Form.
-
Классы, которые содержат в событии Init код, интенсивно использующий ресурсы системы.
-
Классы, которые используют внешние ресурсы, такие как соединения с базами данных, сервера автоматизации или XML Web сервисы.
Вы можете добавить класс Pool Manager в дизайнерах форм или классов из Toolbox или ввести его в проект. Когда вы добавляете класс проект, то у вас есть возможность выбора между добавлением его в проект или созданием на его сонове субкласса.
Для хранения объектных ссылок класс Pool Manager использует базовый класс Visual FoxPro Collection. Для получения более подробной информации смотрите описание Класс Collection.
Для получения более подробной информации об использовании фундаментальных классов смотрите Руководство по использованию фундаментальных классов Visual FoxPro.
Свойства, события, методы | Описание |
---|---|
Свойство cClass |
Имя класса, используемого пулом. Вы, кроме того, можете установить это свойство посылкой его в качестве первого параметра при создании объекта класса pool manager. По умолчанию: Нет |
Свойство cClassLibrary |
Библиотека, которая содержит класс, используемый в пуле. Свойство cClassLibrary может указывать на библиотеку визуальных классов или программный файл. Вы можете изменить это свойство послав значение в качестве второго параметра при создании объекта класса pool manager. По умолчанию: Нет |
Свойство lRaiseEvent |
Если установлено в True (.T.), то вызывает срабатывание событий ObjectRequested и ObjectReturned. Если вам для увеличения производительности не требуются эти методы, установите его в False (.F.). По умолчанию: .T. |
Свойство nObjectsCreated |
Увеличивается каждый раз при создании объекта. По умолчанию: 0 |
Метод Get |
Возвращает объектую ссылку на объект, размещенный в пуле. Все параметры посылаются событию Init вновь создавамого объекта и событию ObjectRequested. Syntax: Return: Объект Arguments: параметры должны посылать по значению; массивы не могут быть посланы объекту в пуле. |
Метод Free |
Возвращает объект в пул, делая возможным следующий вызов метода Get. Синтаксис: Возврат: Нет Аргументы: oObject представляет собой объектную ссылку на объект, ранее полученный из метода Get. Объект может быть передан по ссылке. |
Событие ObjectRequested |
Срабатывает, когда запрашивается объект. Вы можете использовать это событие для инициализации объекта, на основе текущих параметров. Когда объект в пуле связан с этим событием, то событие срабатывает для каждого объекта, не только для самого объекта. Синтаксис: Возврат: Нет Аргументы: oObject представляет собой ссылку на объект в пуле, который возвращается вызывающему. Все параметры из метода Get посылаются этому событию в виде дополнительных параметров. |
Событие ObjectReturned |
Срабатывает, когда объект возвращается в пул, вызовом метода Free. Когда объект в пуле связан с этим событием, то событие срабатывает для каждого объекта. Синтаксис: Возврат: Нет Аргументы: oObject представляет собой ссылку на объект в пуле. |
Смотрите также
Задачи
Образец использования класса Pool ManagerСправочное руководство
Фундаментальные классы Visual FoxPro от A до ZКонцепции
Руководство по использованию фундаментальных классов Visual FoxProПрочие ресурсы
Образцы использования фундаментальных классов
© Microsoft Corporation. All rights reserved.
Перевод выполнен JS.