Традиционным введением в новый язык программирования или
операционную среду является программа, выводящая сообщение
"Hello, Word!", написанная на данном языке или для данной опера-
ционной среды. Это программа содержит количество программного ко-
да, достаточное для вывода на экран строки "Hello, Word!".
Конечно, в Windows нужно сделать значительно больше. Вам
нужно вывести окно, записать в него текст и сделать так, чтобы
окно взаимодействовало с "окружающим миром", по крайней мере вы
должны иметь возможность закрыть окно и выйти. Если вы будете де-
лать все это с самых основ, то даже для выполнения этих элемен-
тарных задач потребуется очень большой объем кода. Например,
программа GENERIC.PAS, содержащаяся на дистрибутивных дисках, вы-
полняя такие элементарные действия, занимает более 100 строк.
Это связано с тем, что предъявляет к прикладной программе
ряд требований, которые та должна удовлетворять перед тем, как
она сможет работать в Windows. Даже простейшая программа требует
большого объема исходного кода. К счастью, программы, написанные
с использованием ObjectWindows, автоматически удовлетворяют этим
требованиям (включая создание и вывод на экран основного окна и
сохранение для приложения описателя окна). Таким образом, прог-
рамма "Hello, Word!" сокращается всего до 16 строк.
program HelloApp;
uses WObjects;
type
THelloWord = object(TApplication)
procedure InitMainWindow; virtual;
end;
procedure THelloWord.InitMainWindow;
begin
MainWindow := New(PWindow,
Init(nil, 'Hello, Borland Pascal'));
end;
var HelloWord: THelloWord;
begin
HelloWord.Init('HelloWord');
HelloWord.Run;
HelloWord.Done;
end.
Действия программы при запуске
При запуске программа ObjectWindows должна сначала получить
от Windows четыре значения и сохранить их в соответствующих гло-
бальных переменных. (Это происходит автоматически, но если бы вы
писали программу, не используя ObjectWindows, то пришлось бы об
этом позаботиться.)
* В HInstance сохраняется описатель экземпляра программы.
* В HPrevInst сохраняется описатель последнего экземпляра
той же прикладной программы.
* В CmdShow записывается целое значение, представляющее на-
чальный режим вывода основного окна. Оно используется для
вызова метода Show.
* В CmdLine записывается командная строка вызова прикладной
программы, включая параметры и имя файла, например
"CALC.EXE /M" или "WORDPROC.EXE LETTER1.DOC".
Как приложение ObjectWindows, программа HelloApp должна
строить и инициализировать объект основного окна. Она может ини-
циализировать только первый экземпляр HelloApp с помощью метода
InitApplication, либо инициализировать каждый экземпляр HelloApp
с помощью метода InitInstance.
HelloApp начинает цикл сообщения, вызывая метод Run. Нако-
нец, она завершается путем освобождения объекта прикладной прог-
раммы с помощью метода Done.
Назначение основного окна
Основное окно прикладной программы - это окно первоначально-
го вывода прикладной программы при ее запуске. Оно отвечает за
представления пользователю списка доступных команд (меню). Во
время сеанса работы с прикладной программой основное окно управ-
ляет интерфейсом прикладной программы и во многих случаях являет-
ся единственной рабочей областью программы, создавая, когда это
требуется, диалоговые окна. Другие, более сложные приложения, мо-
гут использовать в качестве рабочих областей несколько окон. Ког-
да пользователь закрывает основное окно, он инициализирует про-
цесс закрытия прикладной программы.