ошибка: FRM47337 Tree node label can not be null при выполнении скрипта DECLARE |
Использование ActiveX и OLE в Oracle Forms
ActiveX - это технология Microsoft, которая предоставляет программистам наборы стандартных библиотек, облегчающих процесс кодирования. ActiveX - это продвинутая версия OLE, основанная на распределенной компонентной объектной модели DCOM. Библиотеки ActiveX обеспечивают функциональность, достаточную для написания сетевых приложений, а также поддерживают совместимость с любыми компонентами OLE.
Встраивание Windows Media Player
Мы с вами разберем несложный пример - создание WM Player, проигрывающего какой-либо файл.
- Находясь в редакторе разметки, найдите на панели инструментов элемент "OCX" и начертите его на канве.
- Расположите объект на канве так, чтобы была достаточная область видимости для проигрывания клипа.
- Нажмите правую кнопку мыши, находясь в фокусе объекта ActiveX, вызовите всплывающее меню. Выберите пункт "Insert Objects", и на экране у вас появится одноименное окошко (рис. 13.1).
- Выберите Windows Media Player из предложенного списка и подтвердите выбор.
- Объект WM Player загружен, и теперь ваш элемент имеет вид черного прямоугольника. Чтобы посмотреть, как он выглядит в режиме выполнения, запустите форму. В запущенной форме вы увидите проигрыватель Media Player, но не сможете выполнить никаких действий над ним. Закройте форму и перейдите обратно в свойства элемента MPlayer.
- Найдите свойство "Свойство управление" и нажмите кнопку "Найти…" для запуска окна настроек WM Player (рис. 13.2).
- В этом окне вы можете определить настройки и параметры запуска проигрывателя, выбрать компоновку элементов управления, а также указать файл воспроизведения. Укажите в источнике имя проигрываемого файла, им может быть как видео-, так и аудиофайл.
- После того как вы выбрали файл проигрывания, запустите форму для просмотра результатов. По умолчанию в проигрывателе имеются все основные элементы управления, такие как звук, прокрутка и кнопки управления проигрыванием файла. В окне настроек проигрывателя вы можете выбрать режим отображения элементов управления:
- None - при выборе этого режима будет отображаться только окно зрительных образов или окно видео. Такие элементы, как прокрутка, регулятор громкости и кнопки управления проигрыванием, будут невидимы.
- Mini - в этом режиме помимо окна видео или зрительных образов также будут доступны регуляторы громкости.
- Full ( default ) - в этом режиме доступен полный набор элементов управления.
- Invisible - в этом режиме не видно никаких элементов, даже окна зрительных образов и видео. Этот режим подходит для проигрывания аудиофайлов, появляется ощущение фонового звука, и форма избавлена от отображения дополнительных элементов.
Мы добились желаемого результата - объект встроен и выполняет наши требования. Вы можете расширять функциональность этих элементов с помощью библиотек OLE, используя ее классы в своих программных модулях и триггерах.
Импорт интерфейса библиотеки OLE
Вы можете импортировать библиотеки OLE в свое приложение, используя инструмент "Импорт интерфейса библиотеки OLE ". Пакеты методов OLE позволяют управлять встроенными элементами.
Рассмотрим пример, в котором создадим Oracle Sound Control Object и научимся им управлять с помощью библиотек OLE.
- Находясь в редакторе разметки, найдите на панели инструментов элемент " ActiveX " и начертите его на канве. Установите для этого элемента следующие свойства:
- Ширина: 210;
- Высота: 100.
- Правым щелчком мыши по элементу вызовите всплывающее меню и выберите пункт "Insert Object" для запуска окна объектов ActiveX. Найдите в списке Oracle Sound Control Object и подтвердите свой выбор.
- Вызовите всплывающее меню элемента правым щелчком мыши и выберите пункт Oracle Sound Control Object | Свойства для запуска окна свойств проигрывателя (рис. 13.3).
- В этом окне вы можете управлять настройками проигрывателя, изменять внешний вид, источник звука, а также скрывать регуляторы громкости, таймеры и другие элементы управления проигрыванием, выключая переключатели на вкладке "Общие". Перейдите на вкладку "Импорт/Экспорт" для выбора источника звука. Найдите в вашей файловой системе звуковой файл с расширением *.wav.
- Перейдите на вкладку "Device" и выберите радиокнопку "Line-in". Нажмите кнопку "Применить" для подтверждения установленных настроек и запустите форму на выполнение. Убедитесь, что проигрыватель работает и воспроизводит звуковой файл после нажатия кнопки "Воспроизвести".
Элемент создан, и теперь, для того чтобы управлять им программно, нам необходимо импортировать соответствующие методы библиотеки OLE.
- Находясь в редакторе разметки, выберите пункт главного меню Программа | Импорт интерфейса библиотеки OLE (рис. 13.4).
- В этом окне содержится перечень доступных классов OLE и соответствующие им методы и события. Найдите класс OracleSoundControl в окне классов OLE. Выделите пакет методов _Dmmsx и нажмите кнопку "ОК". Выбранный вами пакет появится в узле "Программы" навигатора объектов (рис. 13.5).
- Создайте три кнопки и разместите их под элементом OSound. Установите для первой кнопки метку "Играть", для второй кнопки - "Стоп" и "Открыть файл" - для третьей.
- Создайте триггер WHEN-BUTTON-PRESSED для кнопки "Воспроизвести" и напишите в нем следующий код:
WHEN_BUTTON_PRESSED OracleSoundControl_DMMSX.Play(:item('Media.OSound').interface);
- Создайте триггер WHEN-BUTTON-PRESSED для кнопки "Стоп" и напишите в нем следующий код:
WHEN_BUTTON_PRESSED OracleSoundControl_DMMSX.Stop(:item('Media.OSound').interface);
- Создайте триггер WHEN-BUTTON-PRESSED для кнопки "Открыть файл" и напишите в нем следующий код:
WHEN_BUTTON_PRESSED OracleSoundControl_DMMSX.ImportFileAs (:item('Media.OSound'). interface);
Поэкспериментируйте с другими элементами, импортируя методы для управления их функциональностью.