Россия, Москва, Московский Государственный Университет имени Ломоносова М.В., 2002 |
Создание форм. Настройка и запуск
Запуск в графической среде (GUI)
Все версии Forms, начиная с Forms 4.5 и заканчивая Forms 6i, могут запускаться в пользовательском интерфейсе (GUI). Для того чтобы запустить форму в GUI, выполните следующие действия:
- Запустите Oracle Forms командой f60desm или frmbld. После этого появится окно Form Builder (
рис.
3.4, в котором вы можете выбрать параметры запуска:
- Use the Data Block Wizard (Создать форму с помощью мастера) – вам будет предложено создать форму с помощью мастера Data Block Wizard и Layout Wizard;
- Build a new form manually (Создать форму вручную) – после выбора этого параметра запустится "чистая" среда, в которой не будет блоков данных, а только стандартный набор инструментов и модуль;
- Open an existing form (Открыть существующую форму) – выбрать форму из списка существующих форм, после чего запустится выбранная вами форма;
- Build a form based on template – запускает Designer с предложением открыть форму;
- Run the Quick Tour (concepts) – запускает интернет-страницу (*.htm) с кратким обзором новых возможностей продукта Developer как в целом, так и отдельных его опций. При выборе этого пункта кроме страницы Интернет запустится Designer с опцией Build a new form manually ;
- Explore the Cue Cards (tasks) – запускает Forms Designer, с такой же опцией, как в предыдущем случае; также в Designer сразу после запуска отобразится не только Object Navigator, но и окно справки Cue Cards, в котором вы можете найти справку о первичной работе в Forms (запуск форм, создание объектов).
- Учитывая, что вы работаете с приложением первый раз, выберите первый параметр ( Use the Data Block Wizard ), в этом режиме Forms на самом деле запускает последовательно два мастера:
- мастер блока данных ( Data Block Wizard );
- мастер разметки ( Layout Wizard ).
- Находясь в Редакторе разметки, нажмите кнопку "Запустить форму" с изображением светофора, расположенную на верхней панели инструментов, или выберите пункт главного меню Программа | Запуск Формы | Клиент-сервер.
Запуск формы в терминале и в GUI
Все ранние версии Forms до Forms 6i включительно поддерживают терминальный режим. Форма, запускаемая в терминальном режиме, имеет монохромный режим отображения. При выводе на экран терминала форма подавляет и не отображает те элементы, которые не поддерживаются терминалом, а именно: элементы псевдографики, OLE-контейнеры, ActiveX, Chart Item, Image Item, Bean Area. Также ранние версии не поддерживали некоторые события интерфейса, такие как передвижение и клик мыши.
Для того чтобы запустить форму, в командной строке выполните следующие действия:
- Откройте форму из предыдущего примера и сохраните ее как Form_Term. Скомпилируйте модуль.
- Запустите командную строку, например, SHELL, и выполните следующую команду:
f60run module_name USERID=login/password@connect_line
- После того как команда введена, нажмите ENTER для запуска формы (см. рис. 3.4).
Вы можете использовать в командной строке параметры настройки запуска, включая их в команду f60run.
Для запуска формы в командной строке достаточно выполнить команду:
f60run module_name – для версии 6i; frmbld module_name – для версии 9i и выше.
Запуск формы в браузере
Процесс запуска веб-формы существенно отличается от тех процессов, которые мы рассматривали ранее, – запуск формы в GUI или в терминале. Если вы запустили Forms Builder и выполнили все необходимые условия, то есть создали и скомпилировали приложение, то при попытке запустить форму у вас появится на экране сообщение об ошибке ( рис. 3.5).
Вы можете избавиться от этой ошибки, если перед запуском формы запустите экземпляр OC4J. Запуск экземпляра OC4J производится командой DevSuiteHome_1\j2ee\DevSuite\startinst.bat.
Что такое OC4J, и почему без него невозможно запустить форму? OC4J (Oracle Application Server Containers for J2EE ) – это компонент Oracle AS, который является основой поддержки Java-технологий в соответствии со спецификацией Java 2 Enterprise Edition. Контейнеры OC4J написаны полностью на Java и выполняются на виртуальной машине Java, входящей в состав JDK 1.2 или 1.3. OC4J – это полная поддержка J2EE, включающая транслятор JSP, механизм выполнения Java-сервлетов и контейнер Enterprise Java Beans (EJB).
Итак, для того чтобы запустить первую форму, выполните следующие действия:
- Запустите OC4J. После запуска OC4J у вас на экране появится Java Console ( рис. 3.6).
- Запустите Forms Builder и откройте форму Test.fmb.
- Вызовите диалог соединения для подключения к БД командой File | Connect или с помощью кнопки "Соединение" на панели инструментов.
- Запустите форму командой Run Form по щелчку кнопки на панели инструментов или командой меню Program | Run Form.
После запуска формы на экране появится браузер, в который будет загружен апплет, отображающий форму. В Java Console сразу же после запуска формы появятся новые записи:
07/09/23 10:29:21 FormsServlet init(): configFileName: D:\DevSuiteHome_1 testMode: false 07/09/23 10:29:28 ListenerServlet init()
На рис. 3.7 кружочками показаны основные элементы, которые вы видите при отображении формы:
- браузер (Browser) ;
- Java applet ;
- консоль окна – строка состояния (Console);
- URL;
- панель инструментов меню (Menu Toolbar);
- меню по умолчанию (Default Menu);
- кнопка – графический элемент формы "Кнопка" (Item Button);
- окно (Window).
Важно: если при запуске формы в браузере появилась надпись "ORACLE FORMS", апплет не загрузился и браузер самостоятельно закрылся, то вам необходимо переставить Jiniator.
Закрытие браузера
После того как вы нажимаете кнопку EXIT_FORM на главной панели инструментов, форма закрывается, а браузер остается. Для того чтобы избавиться от этой проблемы, можно воспользоваться одним из самых распространенных способов, а именно создать файл *.html, который выполняет процедуру закрытия браузера. Выполните следующие действия:
- Создайте пустой файл с расширением *.html и вставьте в него следующий код:
<html> <head> <script language="javascript"> function closeit() { win = top; win.opener = top; win.close (); } </script> </head> <body onload="closeit()"> close window </body> </html>
- Сохраните файл в папке "C:\<DevSuiteHome_home>\tools\web\html" и назовите его exit.html.
- Создайте триггер POST-FORM (form_level) и напишите в нем всего одну строчку:
Web.Show_Document('/forms/html/exit.html','_self');
- Запустите форму и попробуйте нажать кнопку EXIT_FORM, чтобы инициировать триггер POST-FORM. После нажатия кнопки форма и браузер должны закрыться.