Н. 3. Елманова. C++Builder 3.0, архитектура "клиент/сервер" *t Internet
Mew     ActiveXiappsrv] Forms:] Dialogs) Projects]
ActiveX Control       ActiveX Library     Automation Object
Property Page	Type Library
;;v>vv^;
pSfift*'
OK
Cancel
Help
Puc. 8.17. Выбор ActiveForm из репозитария объектов
В результате будет предложено создать новую библиотеку ActiveX (файл с расширением *.осх), затем появится диалог для ввод_а имени ActiveX и имени проекта (рис. 8.18).
Отметим флажок Include Version Information. Нажмем кнопку OK - и, наконец, на экране появится пустая форма, которая станет в дальнейшем главной формой "тонкого" клиента.
Теперь можно щелкнуть по этой форме и изъять из буфера обмена интерфейсные элементы, взятые из предыдущего проекта. Осталось скопировать (или создать снова) обработчики событий из предыдущего примера. Наиболее удобно сделать это, поместив оба приложен:™ в одну и ту же группу проектов - это позволит держать их оба открытыми и переключаться между ними (рис. 8.19).
184
Создание многозвенных информационных систем с помощью C++Bu/lder 3.0
ActiveForm Wizaid
Tj.;
New ActiveX Name:   ]MyAF
Implementation Unit:   1М^р|тр|^ Project Name
jMyAFProjI.cpp
- ActiveX Control Options
!    Г Include Design-Time License	Г Include About В ox
p Include Version Informations
OK	Cancel	.и*  :
Puc. 8. IS. Active form Wizard
.?    X i      (
New     Remove : Activate
Л ProjectG roupl Ei-jp cln
ЁНр MyAFProjl
!• -Ц MjAFProjLcpP [-Щ MjAFPioj1_ATL.cpp )-.§] MyAFProjI.tlb L.|J MyAFProj1_TLB.cpp Й-В MyAFImpH
;.. Ц MyAFImpH.cpP
1 S MyAF
?[)Шолат?ШШ1^ШШ1
( клиента
Рис. 8.19. Группа проектов, содержащая сервер приложений и два "тонких
Как показывает практика, в подобных формах можно использовать почти все интерфейсные элементы, содержащиеся в палитре компонентов C++Builder, за исключением главного меню (коговости^очень большом желании можно заменить набором меток и рор-ир-меню).
185