Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms 6i, передача параметров из одной формы в другую / 8 сообщений из 8, страница 1 из 1
08.07.2005, 13:33
    #33156812
Sergey Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
Есть форма пусть Form1.fmb написанная на Oracle Forms 6i
к ней прицеплены несколько pll
в форме есть вызовы процедур из этих библиотек pll

в одной из этих библиотек вызывается форма Acc_Get которая у нас отсутствует для версии 6i, но есть версии Forms 4.5

в pll, прицепленных к Form1 ремлю
--CALL_FORM ('Acc_Get', NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get);
и вставляю команду
host('C:\ORANT\BIN\F45RUN32.EXE Acc_Get NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get');

но при закрытии 'Acc_Get' не возвращается переменная
GLOBAL.ACC_GET_RESULT как я понимаю выставляемая формой 'Acc_Get' в форму Form1

Сам я в формсах новичок, что за переменная типа GLOBAL и можно ли её передать обратно в Form1 из формы 'Acc_Get' вызванной через host()?
...
Рейтинг: 0 / 0
08.07.2005, 13:43
    #33156861
Alienka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
Sergey FedorenkoCALL_FORM ('Acc_Get', NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get);
и вставляю команду
host('C:\ORANT\BIN\F45RUN32.EXE Acc_Get NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get');
Я, конечно, ничего не понимаю в в шестых и четвертых формсах (в частности зачем там делается host при вызове форм...), но :GLOBAL - это однозначно указатель глобальной переменной, которая должна быть видна везде. Проверял ли мессаджами, чему равен глобал до.после.во время вызова формы?
...
Рейтинг: 0 / 0
08.07.2005, 13:46
    #33156873
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
Все элементарно - глобальные переменные видны во всех формах, запущенных в одном runtime. Host запускает второй runtime, поэтому глобальные переменные и не видны.
...
Рейтинг: 0 / 0
08.07.2005, 13:54
    #33156890
Alienka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
AIВсе элементарно - глобальные переменные видны во всех формах, запущенных в одном runtime. Host запускает второй runtime, поэтому глобальные переменные и не видны.
Мдаа...Никогда не вызывала формы хостом...Второй рантайм. Точно...Объясните мне кто-нибудь, зачем он тут вообще...
...
Рейтинг: 0 / 0
08.07.2005, 14:00
    #33156920
Dmitry Lomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
2Sergey Fedorenko

А с чего бы тебе вернулась глобальная переменная объявленная в другом процессе?

При вызове CALL_FORM в текущем процессе Forms Runtime открывается форма c именем AccGet.fmx, где как я понял, глобальной переменной ACC_GET_RESULT присваивается какое-то значение, которое ты прочтёшь после закрытия формы...

host же просто выполнит команду C:\ORANT\BIN\F45RUN32.EXE Acc_Get NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get т.е. создаст другой процесс Forms Runtime, где и откроется форма Acc_Get, которая тоже глобальной переменной ACC_GET_RESULT присвоит значение, но процесс то другой, даже коннект до базы будет тоже другой и т.д

И кстати plAcc_Get - это ParamList, используемый для передачи параметров, например для CALL_FORM, а если вызывать host то параметры в командной строке надо вот так объявлять F45RUN32.EXE bla-ba param=value [param=value]

2Alienka

>Я, конечно, ничего не понимаю в в шестых и четвертых формсах (в частности >зачем там делается host при вызове форм...), но :GLOBAL - это однозначно >указатель глобальной переменной, которая должна быть видна везде. Проверял

Если не понимаешь не только в формсах, но и не имеешь объей эрудированности в вопросах программирования - молчи...
...
Рейтинг: 0 / 0
08.07.2005, 14:08
    #33156947
Alienka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
Dmitry LominЕсли не понимаешь не только в формсах, но и не имеешь объей эрудированности в вопросах программирования - молчи...
Хм. Не надо грубить, я тоже должна как-то учиться. Это первое. Второе, можно было объяснить доступно, зачем был ужен хост...Я работала только на девятке, а там совсем другая идеология и за вызов host на машине клиента можно и по ушам получить. Третье, откуда вдруг такие познания о моей эрудированности...Я и предположить не могла, что человеку нужен второй рантайм. И последнее. Думаю, проблема здесь еще не решена и выход не придуман...С большим уважением к персоне.
...
Рейтинг: 0 / 0
08.07.2005, 14:38
    #33157048
Sergey Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
Ладно, такая война уже
А проблема действительно не решена, но сдвиги по крайней мере есть :)
На четвертый день изучения формсов c нуля ;)

Проблему обошел, скомпилировав acc_get в 6i
Да здравствует обратная совместимость

Вопрос номер 2:
Эти формы все вызывались из канвы с прикрученным меню
А если я начинаю вызывать acc_get из forms1 то данных в acc_get я не вижу, видимо не слогинилась?
По отдельности запускаю acc_get - данные видны
А командой
CALL_FORM ('Acc_Get', NO_HIDE, NO_REPLACE, QUERY_ONLY, plAcc_Get);
из pll, прикрученной к Form1 - видимо query не открываются
Посоветуйте плз что делать
...
Рейтинг: 0 / 0
08.07.2005, 16:31
    #33157393
Dmitry Lomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms 6i, передача параметров из одной формы в другую
2Sergey Fedorenko

Итак, с самого начала....
У Вас имеется форма form1.fmb из которой вы посредством вызова процедуры CALL_FORM, в pll-ках ,открываете форму ACC_GET, после открытия которой данные не видны, хотя если запустить ACC_GET отдельно то всё видно?

Значит и после вызова CALL_FORM всё должно работать, может формс находит не ту версию acc_get?

Попробуйте в целях эксперимента прописать абсолютный путь до формы
т.е CALL_FORM ('с:\bla-bla\Acc_Get'
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms 6i, передача параметров из одной формы в другую / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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