Шаг 34 - Архитектура программ VBA

Одна из концептуальных идей Windows и программирования для Windows заключается в том, что объекты обмениваются сообщениями. Именно обмен, получение и обработка сообщения являются смыслом жизни любого объекта. Давайте посмотрим. У нас есть диалоговая панель и кнопка. Например такая.

34_1.gif (1046 b)

Эту панель можно создать, показать методом Show и убрать методом Unload. Между вызовами этих процедур объект живет. То есть получает и обрабатывает сообщения. Наример, при нажатии на кнопку.

Посылку сообщения можно рассматривать, как вызов метода соответствующего объекта. Например, Вы нажимаете на кнопку мышкой. Нажатие состоит из кучи сообщений - мышка двигается, клавиша вниз, клавиша вверх и другие. При этом обрабатывается последовательность сообщений и система делает вывод о сообщении более высокого уровня - нажата кнопка. В результате вызовется метод. То есть сообщения нажатия на кнопку вызывает метод Click этой кнопки.

Private Sub CommandButton2_Click()
	......
End Sub

Вообще-то сообщения примерно так и работают и в реальном мире. Сообщите жене, что у Вас появилась другая женщина и у жены будет вызван соотвествующий метод. Реализация этого метода зависит от конструкции объекта жена :-). Или позвоните 03 и сообщите адрес со словами пожар. То же будет реакция. Вобщем как в жизни. Только для получения реакции нужно послать сообщение.

Модель VBA подразумевает три составляющих:

Посмотрите рисунок ниже.

34_2.gif (3483 b)

Визуальная часть это то, что видно на экране, т.е. интерфейс пользователя. Это окна диалога, кнопки, списки и т.д. При работе с программой пользователь постоянно её теребит - нажимает кнопки, двигает окна и еще производит кучу действий. Он использует интерфейсные объекты (элемены управления) для генерации событий. В ответ на это системная составляющая, которая включает в себя:

определяет соответсвующее событие и формирует сообщение объекту (вызывает метод объекта). Обработчик событий это код, который будет вызван при возникновении события.

VBA для OFFICE полностью соответсвует этой концепции. Офис предоставляет Вам средства интерфейса, VBA реакцию на события. Вы проектируете интерфейс и реакцию. Системная часть Вас не волнует. Это на совести разработчика VBA и OFFICE.

Рассуждать о преимуществах и недостатках данной системы можно долго. Только идея здесь следующая. Операционная система и реализация среды программирования может меняться (она и меняется 3.1, 95, 98 etc.) , меняется VBA ( 95 , 97 etc.), а вроде как ваши программы от этого вообще не зависят. Например, если в следующей версии WINDOWS кнопка будет допустим галлографическая, то ваша программа будет с ней работать :-). Вам придется при необходимости добавить новые методы.

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


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.