powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / элементарные вопросы по Oracle Forms
15 сообщений из 15, страница 1 из 1
элементарные вопросы по Oracle Forms
    #32882177
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!

Решил разобраться в форме (нашел файл fmb и открыл его в Oracle Forms), возникли вопросы. Я постарался сформулировать их просто, чтобы можно было быстро ответить :) При этом вопросы не только по Oracle Forms, но и по самой среде (я использую Oracle Forms Builder из Developer Suite 9 версии)

1) верно ли что в Oracle Fomrs вся обработка сообщений (например: нажатие кнопки или таба или загрузка формы) идет через триггеры?
2) как узнать, в каком файле находится та или иная форма? или это невозможно, например функция call_form('my_form',...) загружает форму, а как понять из какого она файла?
3) что такое LOVs? (в дереве форм, в каждой форме есть такая ветка)
4) например, я вижу на форме кнопку, она в property palette называется MY_BUTTON. Как найти обработчик ее нажатия? Я нашел так: в Data Blocks найти KEY_BUTTON, в ней найти Items, далее MY_BUTTON, далее Triggers, далее посмотреть триггер WHEN-BUTTON-PRESSED, верно ли что KEY_BUTTON это стандартное название, или это пользовательское название?
5) верно ли что все названия кнопок начинаются на три буквы :) BTN? или это стиль именования переменных такой?
6) тул бар или меню тоже находятся в Data Blocks?
7) а как найти все кнопки, которые есть на форме?
8) мне удается найти точку входа в тот или иной триггер, а вот понять, куда вернется управление после отрабатывания триггера мне непонятно, как найти это место :)?

Спасибо.
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32882304
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работал только на Forms 6, поэтому кое-что м.б. неточно

1. Верно
3. LOV - выпадающий список, заполняется, как правило, через запрос
4. нестандартное
5. нет
6. нет
7. а зачем? Все Item принадлежат какому-нибудь Data block
8. последовательность срабатывания триггеров - только в доке
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32882537
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. OK
3. OK
4. ok, тогда вопрос остается: например, я вижу на форме кнопку, она в property palette называется MY_BUTTON. Как найти обработчик ее нажатия?
5. OK
6. ok, тогда вопрос: а где находятся меню и тул бар? (или вопрос некорректен)
7. я хотел найти все кнопки, чтобы посмотреть на все обработчики, чтобы найти там в них, какие функции вызываются, и найти, где вызывается какая PLSQL функция. ok, тогда вопрос: а что такое Data Block?
8. ok, тогда вторая половина вопроса: а вот как понять, куда вернется управление после отрабатывания триггера мне непонятно, как найти это место :)?

итак, осталось 2, 4, 6, 7, 8.
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32882611
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4., 7.
Не знаю, как в 9, но в 6 удобных средств для произвольного поиска нет. Если мне приходится разбираться в чужом приложении, то я танцую от печки - триггер WHEN-NEW-FORM-INSTANCE(относится к форме). Там прописано, к какому блоку переходим сначала, ну а дальше -последовательно просматриваешь блоки. Можно еще воспользоваться пунктом меню Administration - Object List Report, но это уже дело вкуса.

2. - обычно файл называют так, как форму, хотя это не обязательно

6. Меню находится в дереве (Menus), создается в отдельном файле

7. Data block в общем случае - просто контейнер Items, но с определенными атрибутами

8. В общем случае, управление возвращается в этот же блок, если я не указываю GO_BLOCK / GO_ITEM
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32882769
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2. ok, вопрос: а если файл назвали по-другому, то понять нельзя? или это не "обычно", в всегда так?
4. OK
6. ok, вопрос: а тул бар где?
7. OK
8. OK

осталось 2, 6
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32882806
Guest*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый yaro83 , пожалуйста, уважайте время своих коллег. Ответы на абсолютно все ваши вопросы можно найти в документации. Прочитайте ее обязательно, иначе Вы получите только отрывочные знания о продукте. А не зная основ, Вы не сможете быстро продвигаться дальше в изучении Forms.
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32883154
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
call_form('my_form',...) загружает форму, а как понять из какого она файла?

my_form = имя_файла = my_form.fmx Должно тчоно совпадать. Но Формс может САМ искать файлы в перечисленных в переменной рееста директориях. Ищите все *.fmx

Тул-бар - возможно у вас сделан как КАНВАСЫ (холсты) (canvases).
Короче все айтемы разных блоков могут быть на разных канвасах. И все это может быть в одном окне или разных.

Меню - имя прописано в свойствах Формы. Ищите файлы *.mmb *.mmx
Встроенное меню - это объект в самой форме
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32888105
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, Гостю тоже.

По мере разбирательства возник менее элементарный ответ.
На форме есть контрол для списка VAL, ему соответствует List of Values VAL_LIST, ему соответствует Record Group VAL_LIST, а она получает записи запросом SELECT ID, VALUE, DESCRIPTION FROM PARTS.
Вопросы:
1) как понять по коду, какой столбец ID, VALUE или DESCRIPTION будет отображаться в этом списке в контроле VAL?
2) это действительно будет выглядеть как список? как CComboBox в MFC?
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32888187
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) нашел, это в Column Mapping Properties
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32888270
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопросы:
9) Я не нашел на форме никаких изображений тул баров. Можно ли считать, что framework сам создает станадртный тул бар на каждой форме? Наподобие того, как сгенерированный проект MFC содержит тул бар (только в MFC его можно изменять, а в Foms нет).
10) (предполагая, что 9 пункт верен) а верно ли что по нажатию кнопки Сохранить вызывается функция commit_form, но перед этим отрабатывают PRE-INSERT триггеры всех дата блоков?

Спасибо.
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32888428
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yaro83Еще вопросы:
9) Я не нашел на форме никаких изображений тул баров. Можно ли считать, что framework сам создает станадртный тул бар на каждой форме? Наподобие того, как сгенерированный проект MFC содержит тул бар (только в MFC его можно изменять, а в Foms нет).
10) (предполагая, что 9 пункт верен) а верно ли что по нажатию кнопки Сохранить вызывается функция commit_form, но перед этим отрабатывают PRE-INSERT триггеры всех дата блоков?

Спасибо.

Тул-баров встроеных "почти"нет - есть меню встроенное. Если вы видите в рантайме какой_либо "пользовательский (с бизнес-логикой) тул-бар - значит это кто то наваял. Ижите канвас (Canvas type) = stacked например.

10. Да, эти триггеры так работают. Запустите форму в дебагере - все будет видно (можно по шагам все прогнать). Только точку остано - надо задать не до - а ПОСЛЕ -запуска дебагера - ткнуть мышой в некую строку кода - в его окне...(ну не так как у людей, а через голову)

.
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32889883
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
10) продолжение. Ну хорошо, а как тогда определяется, какой дата блок подлежит сохранению? К примеру, есть дата блоки DB_AUSERS и DB_RUSERS, может ли один сохраняться, а другой нет при сохранении формы?
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32889907
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
COMMIT_FORM действует аналогично COMMIT, т.е. сохраняются ВСЕ измененные данные
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32890174
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55COMMIT_FORM действует аналогично COMMIT, т.е. сохраняются ВСЕ измененные данные
отлично, спасибо.

Итак, на основе этого топика я понял следущую последовательность работы форм для случая, когда делается добавление новых данных, после вызова функции commit_form.
1. вызывается и отрабатывается PRE-INSERT триггер.
2. данные из дата блоков, куда были введены данные пользователем или триггером, добавляются в соответствующие таблицы.
3. вызывается какой-нибудь пост триггер.

Верно ли я описал процесс?

Да, а еще, в каком порядке сохраняются изменения а дата блоках?
...
Рейтинг: 0 / 0
элементарные вопросы по Oracle Forms
    #32890774
yaro83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправка. В пункте 1. отрабатывают только те PRE-INSERT триггеры, которые соответствуют тем дата блокам, в которых были изменения.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / элементарные вопросы по Oracle Forms
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]