Access 2002

Выбор исходной папки          


Для выбора исходной папки и вывода текста строки состояния класс ShellBrowse пользуется механизмом обратных вызовов. Поскольку функция с обратным вызовом должна находиться в стандартном модуле, мы поместили ее в модуль basShellBrowse. Единственным действием этой функции является передача управления обратно классу ShellBrowse. Мы хотели, чтобы реальная функция с обратным вызовом (метод CallBack) была членом нашего класса и могла использовать весь его код и данные. Это широко распространенный прием, который вы можете применять при реализации собственных классов, использующих функции с обратным вызовом.

Хотя с системным реестром можно работать и непосредственно с помощью Windows API, это довольно сомнительное удовольствие. В предыдущих изданиях этой книги мы описали шесть функций, экспортируемых из MSACCESS.EXE, которые значительно облегчают названную задачу. И хотя все эти шесть недокументированных функций по-прежнему доступны, мы решили более не искушать судьбу и написали для них замены на языке VBA. Теперь вы можете не беспокоиться о том, будут ли эти функции поддерживаться в следующих версиях Access

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

Если все, что вам нужно, — это хранить в реестре информацию своего приложения, вам нет нужды сражаться с этими шестью функциями. В VBA есть четыре встроенные процедуры: GetSetdng, SaveSetUng, GetAllSettings и DeleteSetdng, выполняющие чтение и запись данных реестра с незначительными (для этой задачи) ограничениями. Более того, если вас устраивает, как работают эти функции, но вам нужно писать и читать данные из любой части реестра, а не только из одного предопределенного раздела, обратитесь к функциям adhDeleteRegSetting, adhGetAIIRegSettings, adhGetRegSetting и adhSaveRegSetting из модуля basRegistry.

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