powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms 6i, передача параметров из одной формы в другую
8 сообщений из 8, страница 1 из 1
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156812
Фотография Sergey Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма пусть 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
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156861
Alienka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156873
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все элементарно - глобальные переменные видны во всех формах, запущенных в одном runtime. Host запускает второй runtime, поэтому глобальные переменные и не видны.
...
Рейтинг: 0 / 0
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156890
Alienka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIВсе элементарно - глобальные переменные видны во всех формах, запущенных в одном runtime. Host запускает второй runtime, поэтому глобальные переменные и не видны.
Мдаа...Никогда не вызывала формы хостом...Второй рантайм. Точно...Объясните мне кто-нибудь, зачем он тут вообще...
...
Рейтинг: 0 / 0
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156920
Dmitry Lomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Oracle Forms 6i, передача параметров из одной формы в другую
    #33156947
Alienka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry LominЕсли не понимаешь не только в формсах, но и не имеешь объей эрудированности в вопросах программирования - молчи...
Хм. Не надо грубить, я тоже должна как-то учиться. Это первое. Второе, можно было объяснить доступно, зачем был ужен хост...Я работала только на девятке, а там совсем другая идеология и за вызов host на машине клиента можно и по ушам получить. Третье, откуда вдруг такие познания о моей эрудированности...Я и предположить не могла, что человеку нужен второй рантайм. И последнее. Думаю, проблема здесь еще не решена и выход не придуман...С большим уважением к персоне.
...
Рейтинг: 0 / 0
Oracle Forms 6i, передача параметров из одной формы в другую
    #33157048
Фотография Sergey Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, такая война уже
А проблема действительно не решена, но сдвиги по крайней мере есть :)
На четвертый день изучения формсов 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
Oracle Forms 6i, передача параметров из одной формы в другую
    #33157393
Dmitry Lomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sergey Fedorenko

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

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

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


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