Страница 1 из 1

Как передать несколько значений из заполняемой формы?

Добавлено: 02 Апрель 2013, 17:32
optron
Добрый день, господа. Такой вот вопрос:
C-5,5, ABC
Update некой таблицы.
Поля, описания полей и т. д.
Есть кнопка, по которой должно открыться стороннее окно, в которое пользователь введет 10-к данных, нажмёт на ОК этого окна и дальше, в зависимости от того, что он туда ввел произойдут изменения в основном окне.
Стороннее окно описываю отдельным Window, но по описанию языка туда я могу впихнуть много значений, а обратно вернуть лишь одно - рез-т выполнения данной процедуры. А нужно как раз наоборот - передать одно значение, а вернуть много - те, что введет пользователь. Как мне подобраться к данным стороннего окна не используя глобальных переменных?
Заранее спасибо.

Re: Как передать несколько значений из заполняемой формы?

Добавлено: 02 Апрель 2013, 19:46
Дед Пахом
прототип процедуры примерно такой:
MyProc PROCEDURE(LONG pIn, *LONG pOut1, *STRING pOut2, *REAL pOut3), BYTE

вызов
IF MyProc(Fil:Id, longVar, strVar, realVar) = TRUE !-- нажали OK
! тут обрабатываем полученные longVar, strVar, realVar
...
ELSE !-- нажали Cancel
...
END

Re: Как передать несколько значений из заполняемой формы?

Добавлено: 02 Апрель 2013, 23:11
optron
Спасибо, Дед Пахом. Завтра попробую.

Re: Как передать несколько значений из заполняемой формы?

Добавлено: 03 Апрель 2013, 11:00
optron
Огромная благодарность. Всё ОК.

Re: Как передать несколько значений из заполняемой формы?

Добавлено: 05 Апрель 2013, 18:42
artgkx
В одном Window создать локальную Group, скопировать её в другое Window или Report.
Заполняем её в первом Window и передаем в качестве параметра string. Использовал когда понадобилось
передать в Report более 16 параметров (универсальный настраиваемый отчет). С тех пор часто ипользую.
Быстрее чем отдельные переменные, и процедура возвращает не одну переменную, а сколько вам захочется.