Access 2002

Время загрузки приложений


В результате значительно увеличивалось время загрузки приложений. Даже маленькое приложение могло загружаться достаточно долго только из-за того, что с ним была связана большая библиотечная база данных, из которой оно, возможно, вызывало всего одну-две функции, да и то изредка. В Access 97 ситуация коренным образом изменилась: каждый глобальный модуль загружается только тогда, когда в нем возникает необходимость. Конечно, пользователю все равно приходится ожидать, пока модуль загрузится, но, по крайней мере, все эти периоды ожидания не объединяются в одну большую паузу после запуска приложения.

В какой же момент VBA решает, что модуль необходим? Это происходит, когда приложение вызывает одну из хранящихся в нем функций или обращается к объявленной в нем глобальной переменной. В этом случае весь модуль загружается в память. Отсюда первое правило организации библиотечных баз данных: разделите часто и редко вызываемые функции. Если поместить все редко вызываемые функции библиотеки в отдельный модуль, то уменьшится потребление памяти приложением и сократятся паузы в его работе, поскольку этот модуль не будет загружаться в память до тех пор, пока в нем не возникнет необходимость. Процедуры, вызываемые совсем редко, можно отделить от остальных, поместив их в отдельные модули. А вот наиболее часто вызываемые функции уем объединить в один модуль, чтобы он был загружен постоянно и приложение работало быстрее.

В главе 10 вы познакомились с концепцией ссылок на программный код. Ссылки позволяют писать процедуры, использующие методы и свойства серверов автоматизации. Такие же ссылки служат для подключения к приложению библиотечных баз данных. Это означает, что прежде чем вызывать функции из библиотечной базы данных, необходимо включить в проект VBA ссылку на ее файл.

На прилагаемом к книге компакт-диске находится пример библиотечной базы данных под названием CH18LIB.MDA.

Комментарии закрыты