Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Привет! Решил разобраться в форме (нашел файл 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) мне удается найти точку входа в тот или иной триггер, а вот понять, куда вернется управление после отрабатывания триггера мне непонятно, как найти это место :)? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 12:50 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Работал только на Forms 6, поэтому кое-что м.б. неточно 1. Верно 3. LOV - выпадающий список, заполняется, как правило, через запрос 4. нестандартное 5. нет 6. нет 7. а зачем? Все Item принадлежат какому-нибудь Data block 8. последовательность срабатывания триггеров - только в доке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 13:37 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 14:49 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
4., 7. Не знаю, как в 9, но в 6 удобных средств для произвольного поиска нет. Если мне приходится разбираться в чужом приложении, то я танцую от печки - триггер WHEN-NEW-FORM-INSTANCE(относится к форме). Там прописано, к какому блоку переходим сначала, ну а дальше -последовательно просматриваешь блоки. Можно еще воспользоваться пунктом меню Administration - Object List Report, но это уже дело вкуса. 2. - обычно файл называют так, как форму, хотя это не обязательно 6. Меню находится в дереве (Menus), создается в отдельном файле 7. Data block в общем случае - просто контейнер Items, но с определенными атрибутами 8. В общем случае, управление возвращается в этот же блок, если я не указываю GO_BLOCK / GO_ITEM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:13 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
2. ok, вопрос: а если файл назвали по-другому, то понять нельзя? или это не "обычно", в всегда так? 4. OK 6. ok, вопрос: а тул бар где? 7. OK 8. OK осталось 2, 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 16:03 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Уважаемый yaro83 , пожалуйста, уважайте время своих коллег. Ответы на абсолютно все ваши вопросы можно найти в документации. Прочитайте ее обязательно, иначе Вы получите только отрывочные знания о продукте. А не зная основ, Вы не сможете быстро продвигаться дальше в изучении Forms. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 16:16 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
call_form('my_form',...) загружает форму, а как понять из какого она файла? my_form = имя_файла = my_form.fmx Должно тчоно совпадать. Но Формс может САМ искать файлы в перечисленных в переменной рееста директориях. Ищите все *.fmx Тул-бар - возможно у вас сделан как КАНВАСЫ (холсты) (canvases). Короче все айтемы разных блоков могут быть на разных канвасах. И все это может быть в одном окне или разных. Меню - имя прописано в свойствах Формы. Ищите файлы *.mmb *.mmx Встроенное меню - это объект в самой форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 18:10 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы, Гостю тоже. По мере разбирательства возник менее элементарный ответ. На форме есть контрол для списка VAL, ему соответствует List of Values VAL_LIST, ему соответствует Record Group VAL_LIST, а она получает записи запросом SELECT ID, VALUE, DESCRIPTION FROM PARTS. Вопросы: 1) как понять по коду, какой столбец ID, VALUE или DESCRIPTION будет отображаться в этом списке в контроле VAL? 2) это действительно будет выглядеть как список? как CComboBox в MFC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 21:02 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
1) нашел, это в Column Mapping Properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 22:39 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Еще вопросы: 9) Я не нашел на форме никаких изображений тул баров. Можно ли считать, что framework сам создает станадртный тул бар на каждой форме? Наподобие того, как сгенерированный проект MFC содержит тул бар (только в MFC его можно изменять, а в Foms нет). 10) (предполагая, что 9 пункт верен) а верно ли что по нажатию кнопки Сохранить вызывается функция commit_form, но перед этим отрабатывают PRE-INSERT триггеры всех дата блоков? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 02:43 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
yaro83Еще вопросы: 9) Я не нашел на форме никаких изображений тул баров. Можно ли считать, что framework сам создает станадртный тул бар на каждой форме? Наподобие того, как сгенерированный проект MFC содержит тул бар (только в MFC его можно изменять, а в Foms нет). 10) (предполагая, что 9 пункт верен) а верно ли что по нажатию кнопки Сохранить вызывается функция commit_form, но перед этим отрабатывают PRE-INSERT триггеры всех дата блоков? Спасибо. Тул-баров встроеных "почти"нет - есть меню встроенное. Если вы видите в рантайме какой_либо "пользовательский (с бизнес-логикой) тул-бар - значит это кто то наваял. Ижите канвас (Canvas type) = stacked например. 10. Да, эти триггеры так работают. Запустите форму в дебагере - все будет видно (можно по шагам все прогнать). Только точку остано - надо задать не до - а ПОСЛЕ -запуска дебагера - ткнуть мышой в некую строку кода - в его окне...(ну не так как у людей, а через голову) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 08:58 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
10) продолжение. Ну хорошо, а как тогда определяется, какой дата блок подлежит сохранению? К примеру, есть дата блоки DB_AUSERS и DB_RUSERS, может ли один сохраняться, а другой нет при сохранении формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 16:36 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
COMMIT_FORM действует аналогично COMMIT, т.е. сохраняются ВСЕ измененные данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 16:41 |
|
||
|
элементарные вопросы по Oracle Forms
|
|||
|---|---|---|---|
|
#18+
tru55COMMIT_FORM действует аналогично COMMIT, т.е. сохраняются ВСЕ измененные данные отлично, спасибо. Итак, на основе этого топика я понял следущую последовательность работы форм для случая, когда делается добавление новых данных, после вызова функции commit_form. 1. вызывается и отрабатывается PRE-INSERT триггер. 2. данные из дата блоков, куда были введены данные пользователем или триггером, добавляются в соответствующие таблицы. 3. вызывается какой-нибудь пост триггер. Верно ли я описал процесс? Да, а еще, в каком порядке сохраняются изменения а дата блоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=51&tid=1879385]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 422ms |

| 0 / 0 |
