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


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

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

User Item != ActiveX )))

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

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

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


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