Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms экран "ждите" / 11 сообщений из 11, страница 1 из 1
30.09.2008, 10:55
    #35566968
Oracle Forms экран "ждите"
В 6 формсах вызываю хранимую в db процедуру, которая считает больше часа. Само окошко формсов "зависает" и, как говорит windows, "Не отвечает".
Как сделать чтобы формсы не зависали, а писали окошко "Ждите" (желательно с кнопкой отмены).
...
Рейтинг: 0 / 0
30.09.2008, 11:56
    #35567191
Cartesian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
Вызывай процедуру через DBMS_JOB.SUBMIT. Ход выполнения автономными транзакциями сбрасывай в лог (можно и через DBMS_APPLICATION_INFO), на экран можешь циклично выводить информацию о ходе выполнения. По кнопке отмены можешь снимать джобину.
P.S. Можно еще и через DBMS_PIPE сообщениями о ходе выполнения обмениваться, но простое решение - самое правильное.
...
Рейтинг: 0 / 0
30.09.2008, 12:15
    #35567242
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
Забавы для:
Кроме JOB можно воспользоваться и более экзотическими механизмами - как-то с коллегой на forms6i прикрутили dll, создававшую новый тред и выполнявшую таким образом асинхронные долгоиграющие запросы к БД в отдельной сессии.
Сложность была только в возвращении результатов - мы делали "градусник", посылая сообщения окну "невидимой" кнопки (других стабильных windows-окон, сообщения которым можно было бы обработать, у forms6i просто не было - оракляторы обходятся одним-единственным окном, которое скачет по всей картинке и называется "фокус ввода")
...
Рейтинг: 0 / 0
30.09.2008, 12:30
    #35567300
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
andrey_anonymous
Забавы для:
Кроме JOB можно воспользоваться и более экзотическими механизмами - как-то с коллегой на forms6i прикрутили dll, создававшую новый тред и выполнявшую таким образом асинхронные долгоиграющие запросы к БД в отдельной сессии.
Сложность была только в возвращении результатов - мы делали "градусник", посылая сообщения окну "невидимой" кнопки (других стабильных windows-окон, сообщения которым можно было бы обработать, у forms6i просто не было - оракляторы обходятся одним-единственным окном, которое скачет по всей картинке и называется "фокус ввода")


Делал примерно аналогично. Только не запрос, а запуск внешней прогрымма обработки изображений в BLOB'е (которая в т.ч. через OCI работала с БД)

Градусник рисовал в "User Item".
(насчет одного-единственного окна ты не совсем прав. Например у User Item свое окно ))) )
...
Рейтинг: 0 / 0
30.09.2008, 13:15
    #35567449
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
Leonid Kudryavtsev(насчет одного-единственного окна ты не совсем прав. Например у User Item свое окно ))) )
Кнопка - из стандартного набора компонент, потому тогда на ней и остановились.
ActiveX же создает некоторые специфические проблемы на вложенных формах.
...
Рейтинг: 0 / 0
30.09.2008, 13:53
    #35567548
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
andrey_anonymous Leonid Kudryavtsev(насчет одного-единственного окна ты не совсем прав. Например у User Item свое окно ))) )
Кнопка - из стандартного набора компонент, потому тогда на ней и остановились.
ActiveX же создает некоторые специфические проблемы на вложенных формах.

User Item != ActiveX )))

User Item - просто место (окно) на форме, у которого можно получить HWND и рисовать туда все, что вздумается. В любом случае, со смертью 6i и пришествием Web-Forms уже не актуально.
...
Рейтинг: 0 / 0
01.10.2008, 14:39
    #35569820
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
Leonid KudryavtsevВ любом случае, со смертью 6i и пришествием Web-Forms уже не актуально.
Леонид, а разве Forms6i уже умер? :-)
...
Рейтинг: 0 / 0
01.10.2008, 14:54
    #35569873
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
andrey_anonymous Leonid Kudryavtsev(насчет одного-единственного окна ты не совсем прав. Например у User Item свое окно ))) )
Кнопка - из стандартного набора компонент, потому тогда на ней и остановились.
ActiveX же создает некоторые специфические проблемы на вложенных формах.
імхо
после 6і ActiveX юже не поддержівают
ps
я раньше часы пользовал
......
stax
...
Рейтинг: 0 / 0
01.10.2008, 16:41
    #35570209
Oracle Forms экран "ждите"
часы тоже не помогают..
Перед запуском процедуры в бд ставлю
Код: plaintext
1.
				set_application_property(cursor_style,'busy');
				synchronize;
часы на экране не успевают появиться, форма "виснет" и не отвечает пока не отсчитает. Хочется чтобы она написала где-нибудь "идет расчет".
...
Рейтинг: 0 / 0
01.10.2008, 17:44
    #35570426
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
Ну так напиши в какое нибудь поле "Идет расчет" и скажи Synchronize. Но если человек будет переключаться между Application'ами, то не поможет. Forms может стать черным квадратом малевича.
...
Рейтинг: 0 / 0
01.10.2008, 20:24
    #35570774
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms экран "ждите"
интересный никчасы тоже не помогают..
Перед запуском процедуры в бд ставлю
Код: plaintext
1.
				set_application_property(cursor_style,'busy');
				synchronize;
часы на экране не успевают появиться, форма "виснет" и не отвечает пока не отсчитает. Хочется чтобы она написала где-нибудь "идет расчет".
я имел ввиду ActiveX

мона попробовать замутить через When-Timer-Expired Trigger
но слышал что в "текстовом" режиме он (When-Timer-Expired) с багами

.....
stax
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms экран "ждите" / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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