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

Решил разобраться в форме (нашел файл 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
25.01.2005, 13:37
    #32882304
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
Работал только на Forms 6, поэтому кое-что м.б. неточно

1. Верно
3. LOV - выпадающий список, заполняется, как правило, через запрос
4. нестандартное
5. нет
6. нет
7. а зачем? Все Item принадлежат какому-нибудь Data block
8. последовательность срабатывания триггеров - только в доке
...
Рейтинг: 0 / 0
25.01.2005, 14:49
    #32882537
yaro83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
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
25.01.2005, 15:13
    #32882611
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
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
25.01.2005, 16:03
    #32882769
yaro83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
2. ok, вопрос: а если файл назвали по-другому, то понять нельзя? или это не "обычно", в всегда так?
4. OK
6. ok, вопрос: а тул бар где?
7. OK
8. OK

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

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

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

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

По мере разбирательства возник менее элементарный ответ.
На форме есть контрол для списка 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
27.01.2005, 22:39
    #32888187
yaro83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
1) нашел, это в Column Mapping Properties
...
Рейтинг: 0 / 0
28.01.2005, 02:43
    #32888270
yaro83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
элементарные вопросы по Oracle Forms
Еще вопросы:
9) Я не нашел на форме никаких изображений тул баров. Можно ли считать, что framework сам создает станадртный тул бар на каждой форме? Наподобие того, как сгенерированный проект MFC содержит тул бар (только в MFC его можно изменять, а в Foms нет).
10) (предполагая, что 9 пункт верен) а верно ли что по нажатию кнопки Сохранить вызывается функция commit_form, но перед этим отрабатывают PRE-INSERT триггеры всех дата блоков?

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

Спасибо.

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

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

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

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

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

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


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