Опубликован: 17.09.2009 | Доступ: свободный | Студентов: 1436 / 103 | Оценка: 3.94 / 3.53 | Длительность: 10:18:00
ISBN: 978-5-9963-0238-3
Лекция 3:

Создание форм. Настройка и запуск

< Лекция 2 || Лекция 3: 12 || Лекция 4 >

Запуск в графической среде (GUI)

Все версии Forms, начиная с Forms 4.5 и заканчивая Forms 6i, могут запускаться в пользовательском интерфейсе (GUI). Для того чтобы запустить форму в GUI, выполните следующие действия:

  1. Запустите 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 (запуск форм, создание объектов).
    Стартовое окно Form Builder

    Рис. 3.4. Стартовое окно Form Builder
  2. Учитывая, что вы работаете с приложением первый раз, выберите первый параметр ( Use the Data Block Wizard ), в этом режиме Forms на самом деле запускает последовательно два мастера:
    • мастер блока данных ( Data Block Wizard );
    • мастер разметки ( Layout Wizard ).
  3. Находясь в Редакторе разметки, нажмите кнопку "Запустить форму" с изображением светофора, расположенную на верхней панели инструментов, или выберите пункт главного меню Программа | Запуск Формы | Клиент-сервер.

Запуск формы в терминале и в GUI

Все ранние версии Forms до Forms 6i включительно поддерживают терминальный режим. Форма, запускаемая в терминальном режиме, имеет монохромный режим отображения. При выводе на экран терминала форма подавляет и не отображает те элементы, которые не поддерживаются терминалом, а именно: элементы псевдографики, OLE-контейнеры, ActiveX, Chart Item, Image Item, Bean Area. Также ранние версии не поддерживали некоторые события интерфейса, такие как передвижение и клик мыши.

Для того чтобы запустить форму, в командной строке выполните следующие действия:

  1. Откройте форму из предыдущего примера и сохраните ее как Form_Term. Скомпилируйте модуль.
  2. Запустите командную строку, например, SHELL, и выполните следующую команду:
    f60run module_name USERID=login/password@connect_line
  3. После того как команда введена, нажмите 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).

HTTP Listener Error

Рис. 3.5. HTTP Listener Error

Итак, для того чтобы запустить первую форму, выполните следующие действия:

  1. Запустите OC4J. После запуска OC4J у вас на экране появится Java Console ( рис. 3.6).
  2. Запустите Forms Builder и откройте форму Test.fmb.
  3. Вызовите диалог соединения для подключения к БД командой File | Connect или с помощью кнопки "Соединение" на панели инструментов.
  4. Запустите форму командой 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 кружочками показаны основные элементы, которые вы видите при отображении формы:

  1. браузер (Browser) ;
  2. Java applet ;
  3. консоль окна – строка состояния (Console);
  4. URL;
  5. панель инструментов меню (Menu Toolbar);
  6. меню по умолчанию (Default Menu);
  7. кнопка – графический элемент формы "Кнопка" (Item Button);
  8. окно (Window).
Форма Test.fmx

увеличить изображение
Рис. 3.7. Форма Test.fmx

Важно: если при запуске формы в браузере появилась надпись "ORACLE FORMS", апплет не загрузился и браузер самостоятельно закрылся, то вам необходимо переставить Jiniator.

Закрытие браузера

После того как вы нажимаете кнопку EXIT_FORM на главной панели инструментов, форма закрывается, а браузер остается. Для того чтобы избавиться от этой проблемы, можно воспользоваться одним из самых распространенных способов, а именно создать файл *.html, который выполняет процедуру закрытия браузера. Выполните следующие действия:

  1. Создайте пустой файл с расширением *.html и вставьте в него следующий код:
    <html>
    <head>
    <script language="javascript">
    function closeit()
    {
    win = top;
    win.opener = top;
    win.close ();
    }
    </script>
    </head>
    <body onload="closeit()">
    close window
    </body>
    </html>
  2. Сохраните файл в папке "C:\<DevSuiteHome_home>\tools\web\html" и назовите его exit.html.
  3. Создайте триггер POST-FORM (form_level) и напишите в нем всего одну строчку:
    Web.Show_Document('/forms/html/exit.html','_self');
  4. Запустите форму и попробуйте нажать кнопку EXIT_FORM, чтобы инициировать триггер POST-FORM. После нажатия кнопки форма и браузер должны закрыться.
< Лекция 2 || Лекция 3: 12 || Лекция 4 >