Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Forms Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Oracle Forms, навигация между формами  [new]
acrobat
Member

Откуда:
Сообщений: 283
Открыто несколько форм(Open_Form).
1. Существует ли возможность определить, какая из форм активная?
2. Сущесвует ли возможность навигации между открытыми формами?
За ранее благодарю.
7 авг 03, 12:22    [291723]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Сущесвует

1. Активна - текущая форма
2. go_form
7 авг 03, 12:24    [291728]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
acrobat
Member

Откуда:
Сообщений: 283
Muller
Активная - текущая, это я знаю. Но это не позволяет решить проблему. Мне надо синхронизировать работу двух форм используя таймер.
7 авг 03, 12:32    [291743]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Пытались решать такую задачу...
До конца - не довели - текучка заела.
Так в чём проблема-то ???
Как говорится, правильно заданный ворос - это уже наполовину ответ.
7 авг 03, 12:41    [291764]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
acrobat
Member

Откуда:
Сообщений: 283
Две формы, во второй я устанавливаю таймер. В случае, если вторая форма не активна, мне надо ее перерисовать(WHEN-TIMER-EXPIRED). Что-то типа master-detail. Кривое решение, но...
7 авг 03, 12:48    [291780]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
А нафига ее перерисовывать?

Станет активной - перерисуешь.
7 авг 03, 12:56    [291794]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
"Кривое!"
Можно подумать, у нас есть, из чего выбирать!
Щаз вспоминать буду...

По моему - так.
В случае наступления некого события ( типа за три минуты - ни одного клика )
Выставляется в глобал-переменную, скажем, :global.current_form, имя текущей формы.
Потом go_form во вторую - там делаем, что надо и
go_form( :global.current_form )

Что-то вроде этого...
Вся фишка в запуске/гашении таймеров.
Запаситесь валерьянкой.
7 авг 03, 12:59    [291802]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
SAA_
Member

Откуда: Латвия, Рига
Сообщений: 283
Кажется, все-таки не :GLOBAL.CURRENT_FORM, a :SYSTEM.CURRENT_FORM.
7 авг 03, 13:14    [291835]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Еще не зарегистрировался
Guest
Кривые только руки бывают...

Сначала придумают гемор на з#%^цу, а потом "есть ли у нас выбор, есть ли у нас выбор..."

А слабо два окна в одной форме сделать и забыть про таймер и прочие проблемы синхронизации...
7 авг 03, 13:21    [291850]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Я имел в виду, что в глобальную переменную я пишу идентификатор текущей в данный момент формы, чтобы потом вернуться не куда-нибудь, а откуда пришел.
то есть :global.current_form := :system.current_form;
типа этого
7 авг 03, 13:25    [291861]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
2 Ещё не зарегестрировавшемуся.

Так может ваще весь проект писать в одной форме, уважаемый?
7 авг 03, 13:27    [291866]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
Я вообще не понимаю, зачем перерисовывать неактивную форму?

Процессорного времени не жалко? А если там запрос долго выполняется?
Пользователь ждать будет?

И еще, чтобы перерисовать, надо переключиться, т.е. пользователь будет скажем каждые три минут видеть мырг на экране (переключение в форму), потом ждать пока форма перерисуется (данные перезапросятся), потом мырг обратно (переключение в старую форму).

Если форма неактивна, значит пользователю не нужны ее данные, станут нужны - переключится, вот тогда и обновляй.

ЗЫ: автору топика, опиши задачу, может покрасивее решение найдем?
7 авг 03, 13:36    [291888]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Pups The RAPtor

Можно я?
Вы рейтеровское окошко видели?
Дилер пьёт кофе, а котировки у него на экране прыгают и скачут...

Идея.
На сервере случилось Событие.
( добавился платёж, сделка, изменилась котировка..., админ сказал что через пять минут случился абзац... )
Клиент должен по этому событию перечитать НЕОБХОДИМЫЕ формы.
Их может быть несколько.
В зависимости от того, что случилось, перечитывать нужно РАЗНЫЕ формы
и культурненько вернуться в текущую.

Есть идеи?
7 авг 03, 13:45    [291900]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
На самом деле, мой вопрос надо формулировать так:
Как неактивной форме передать сообщение?
Как заставить неактивную форму выполнить команду?
( хоть триггерок какой-нть)
7 авг 03, 14:01    [291933]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
Идея такая: не писать подобные программы на Developer'е.

Во первых (тут я конечно не уверен на все 100%, я сейчас это проверю) таймеры действуют в текущей форме, в неактивной таймеры не действуют.

На сервере случилось Событие.
( добавился платёж, сделка, изменилась котировка..., админ сказал что через пять минут случился абзац... )
Клиент должен по этому событию перечитать НЕОБХОДИМЫЕ формы.
Их может быть несколько.
В зависимости от того, что случилось, перечитывать нужно РАЗНЫЕ формы
и культурненько вернуться в текущую.


Получить событие от сервера - это сама по себе веселая достаточно проблема, а уж при написании приложения на Developer'е - и вовсе цирк.
Так что либо не делать этого, либо переодически обновлять все формы (о, какая будет нагрузка на сеть и сервер!).

ЗЫ: Первое я сейчас проверю и вернусь :).
7 авг 03, 14:12    [291958]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Первая идея мне нравится.
Но предлагаю её не обсуждать, ибо корпоративный стандарт не оставляет места для маневра.

Как получить сообщение от сервера - задача решаемая, так как
таймеры работают в неактивной форме.
7 авг 03, 14:19    [291967]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Ales Protiv
Member

Откуда: Прага
Сообщений: 1872
ну да... инициировать событие со стороны сервера странно ), то есть это дать доступ к станции чему-л. со стороны....

вот по таймеру обновлять данные во всех формах по инициативе клиента -- больш-менш понятно...
--------
а через WEB таймеры вообще работать не будут! (вроде как...)
7 авг 03, 14:28    [291984]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
ОК, верю. Даже проверять не буду. Тем более что у меня 4.5, может в 6i поменяли чего с таймерами :).

Ну так в чем вопрос? Пусть по истечениии таймера выполняется go_form в ту где сработал таймер и запрос к серверу. Таймер повторяющийся. Единственное, на экране все моргать будет периодически, так что полноэкранные формы лучше не использовать :). Да и пользователь будет недоволен что прервался его ввод в какое-нибудь поле :).

Так что ИМХО лучше не использовать такое с формами для редактирования.

Кстати, может это сделать через HTML? Намного практичнее, не требует программирования на всяких там Дельфях и т.п. Обновление сделать намного проще.

ЗЫ: Если не секрет, ты где работаешь?
7 авг 03, 14:30    [291985]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
Если Вы мне укажете другой канал связи между клиентами...

Зачем же ВО ВСЕХ?
Надо там, ГДЕ НАДО!

Справочник клиентов, даже, если он открыт, не надо перечитывать, если изменился остаток на счете!
7 авг 03, 14:33    [291997]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
2 Pups The RAPtor

1. Да ясен пень!
Всё дело в тонкостях - чтоб не моргало, чтоб не мешало, чтоб не глючило...
ТратьТарарать! Какие-то чертовы таймеры...
Хочется что-то типа
send_message( 'MeinLiebeForm', 'REFRESH' );

2. Через HTML - это как?

3. www.inversion.ru
7 авг 03, 14:45    [292034]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
acrobat
Member

Откуда:
Сообщений: 283
muller
Спасибо, кое-что получилось.Вот только с таймером не все гладко, после выполнения команды Go_Form, он сбрасывается.

Неактивной форме сообщение можно передать через обычный insert, select.
7 авг 03, 14:49    [292046]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
muller
Member

Откуда: Москва
Сообщений: 925
2 acrobat
"Неактивной форме сообщение можно передать через обычный insert, select."

Поясните пожалуйста
( вдруг - чудо !)
7 авг 03, 14:54    [292068]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
1. Так не получится. Моргать - будет, мешать - может, глючить - практически наверняка. Кстати, я заметил что рантайм с запущенными одновременно несколькими формами падает намного чаще чем с одной-двумя. Я для себя поставил максимум - не более трех открытых форм одновременно :).

2. Ну это элементарно. Если сервер восьмерка - использовать поставляемый с ней веб-сервер и mod_plsql. Гененрируешь страничку с данными, в заголовках странички ставишь через сколько секунд она обновляется. Пользователь запускает браузер, заходит на эту страничку и все. Котировки ( или что там еще ) обновляются, формы работают отдельно, никто друг другу не мешает. Если семерка - то отдельный изврат, но тоже можно. Хочешь подробностей - пиши в мыло pups-the-raptor [ doggy } yandex.ru.

3. Знакомое место. Примерно год назад чуть не устроился к вам работать.
7 авг 03, 14:56    [292074]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
acrobat
Member

Откуда:
Сообщений: 283
2 muller
Insertom передавать за ранее определенные команды, которые конечно необходимо обработать в WHEN-TIMER-EXPIRED.
Встречный вопрос - можно ли перейти в другрую форму и не сбить timer, у меня не получилось. После Go_To, таймер отключается...
7 авг 03, 15:06    [292114]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Forms, навигация между формами  [new]
Pups The RAPtor
Member

Откуда: Москва
Сообщений: 212
Естественно собьется. Таймер работает только если пользователь неактивен. А ты делаешь go_form, это типа переход в форму => пользователь активизировался :) И Developer'у плевать что это не пользователь, а сама форма перешла.

Я вижу только один выход. Таймер должен работать в неактивной форме. Хотя как потом переходить обратно, хз ...
7 авг 03, 15:10    [292130]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Forms Ответить