Лабораторная работа: Технологія WebSnap
Малюнок 6
Оберімо як Script Engine значення JScript , а як параметр Template – значення Standard . Натиснемо кнопки Ok для виходу з діалогів. Borland C++ Builder 6 згенерує заготівку проекту (мал. 7 –8 ).
Малюнок 7
Малюнок 8
Тепер треба модифікувати створений модуль так, щоб надалі не довелося упроваджувати в нього пакети реального часу (у тому числі і динамічні бібліотеки RTL). Хоча у результаті об'єм виконуємого модуля збільшиться, він зможе працювати на будь-якій платформі, включаючи і такі, де відсутній C++ Builder. Для цього у головному меню C++ Builder оберіть команду Project | Options . У діалоговому вікні Project Options , яке з'явиться після цього на екрані, відкрийте сторінку Linker і скиньте прапорець Use Dynamic RTL (використовувати динамічну бібліотеку RTL ). Відкрийте сторінку Packages і скиньте прапорець Builder with Runtime Packages (Компілювати з пакетами реального часу ).
Тепер залишилося зберегти і скомпілювати проект. Одержаний виконуваний файл і шаблон сторінки Unit1.html треба розташувати на Web-сервері у каталозі скриптів (для IIS це каталог c:\Inetpub\Scripts). Запустимо Web-браузер Internet Explorer і в рядку адреси наберемо http://localhost/Scripts/Project1.dll (у разі використання Apache та для інших Web-серверів адреса буде іншою). У вікні браузера ми побачимо напис PageProducerPage1 ( мал. 9 ).
Малюнок 9
Приклад 2. Використання панелі навігації у WebSnap-сервері
Для доопрацювання сторінки встановимо властивість ApplicationTitle компоненту ApplicationAdapter у значення «WebSnap-приложение №2». А зараз сюрприз: HTML-сторінка, що згенерована, може бути переглянута без перенесення прикладення на Web-сервер (візуалізація сторінок може значно прискорити розробку Web-прикладень). Для цього необхідно обрати закладку Preview у нижній частині вікна редагування (мал. 10 ).
Малюнок 10
Друга закладка Unit1.html – містить текст шаблона html-сторінки , а закладка HTML Result – результуючий HTML-код .
Текст шаблону html-сторінки
<html>
<head>
<title><%= Page.Title %></title>
</head>
<body>
<h1><%= Application.Title %></h1>
<% if (EndUser.Logout != null) { %>
<% if (EndUser.DisplayName != '') { %>
<h1>Welcome <%=EndUser.DisplayName %></h1>
<% } %>
<% if (EndUser.Logout.Enabled) { %>
<a href="<%=EndUser.Logout.AsHREF%>">Logout</a>