powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Передача параметра из меню.
17 сообщений из 17, страница 1 из 1
Передача параметра из меню.
    #33840955
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть приложение написанное с использованием PFC. События триггеруются из меню с использованием Message Router: of_SendMessage("имя_события").

Вопрос. А если возможность не только триггеровать событие но и передавать параметр в это событие?

Заранее благодарен за советы.

Михаил.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841194
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и в любой другой объект ;) начиная с глобальных объектов и переменных и заканчивая написанием своего стэка переменных для передачи параметров.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841450
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edmikecaЕсть приложение написанное с использованием PFC. События триггеруются из меню с использованием Message Router: of_SendMessage("имя_события").

Вопрос. А если возможность не только триггеровать событие но и передавать параметр в это событие?

Заранее благодарен за советы.

Михаил. Можно примерно так
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841562
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edmikecaЕсть приложение написанное с использованием PFC. События триггеруются из меню с использованием Message Router: of_SendMessage("имя_события").

Вопрос. А если возможность не только триггеровать событие но и передавать параметр в это событие?

А так?:
Код: plaintext
of_SendMessage("event=имя_события;arg=параметр")
а в обработчике парсить через n_cst_string.of_getkeyvalue
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841653
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо ничего изобретать, в PFC все уже давно написано. Роутер сообщений манипулирует объектом message, который в основном использует только параметр StringParm, а вообще говоря message эта структура которая имеет не только этот параметр, но и другие. Так почему бы их не использовать, если в этом есть потребность. Никаких правок и расширений PFC не надо, если конечно не хочется довести дело до "красивости", несколько раз порывался было но так и не сподобился. Я постоянно пользуюсь описанным способом передачи параметров через merssage, например открываю окно и передаю "номер сделки" клиента в это окно.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841831
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо всем за ответы! Сейчас начну пробовать.

Один только вопрос к PavelBuilder. То что Message Router использует Message.StringParm для передачи имени Event я знаю. А не будет ли каких-то side effects (побочных явлений) если через него (Message.StringParm) передать еще и свой параметр? Я, честно говоря, никогда глубоко не разбирался как работает Message структура и что будет если через нее последовательно передавать несколько параметров. Она что их в стек помещает? Я помню из help, что рекомендуется извлечь значение из структуры как можно скорее, поскольку PB может использовать ее в своих целях.

Еще раз спасибо всем за ответы.

Михаил.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841882
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте .
коль зашла речь о передаче параметров.
Хочу поделиться своей технологией ( возможно и не новой и не сверх уникальной )

очень часто приходится передавть несколько параметров между окнами/ объектами для этого сделат объект в котором можно заполнять масив именованых параметров и соответсвенно извлекать их по имени .

Объект и структуры прилагаю.
Хотелось бы услышать мнение по поводу такой технологии.
И возможно кому то эти объекты прийдутся по Душе.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33841960
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edmikecaОгромное спасибо всем за ответы! Сейчас начну пробовать.

Один только вопрос к PavelBuilder. То что Message Router использует Message.StringParm для передачи имени Event я знаю. А не будет ли каких-то side effects (побочных явлений) если через него (Message.StringParm) передать еще и свой параметр? Я, честно говоря, никогда глубоко не разбирался как работает Message структура и что будет если через нее последовательно передавать несколько параметров. Она что их в стек помещает? Я помню из help, что рекомендуется извлечь значение из структуры как можно скорее, поскольку PB может использовать ее в своих целях.

Еще раз спасибо всем за ответы.

Михаил.

Может и будет, я передавал только имя окна и номер, пока большего не требовалось. Билдер передает структуру messge целиком, никакой последовательной передачи там нет, получая в pfc_open объект message нужно незамедлительно из него получить все что надо, поотом остальной скрипт.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33842037
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandЗдравствуйте .
коль зашла речь о передаче параметров.
Хочу поделиться своей технологией ( возможно и не новой и не сверх уникальной )

очень часто приходится передавть несколько параметров между окнами/ объектами для этого сделат объект в котором можно заполнять масив именованых параметров и соответсвенно извлекать их по имени .

Объект и структуры прилагаю.
Хотелось бы услышать мнение по поводу такой технологии.
И возможно кому то эти объекты прийдутся по Душе.

Нрмальная техноогия, только по-моему слегка "за уши". Объяви свою структуру глобально и используй где ни попадя, только нездорово в принципе объявлять глобаные перменные, нехорошая практика, но если знать, что есть ряд параметров которые всегда в приложении нужны и к ним частое обращение, то почему нет. Есть у нас приложение отчеты и там как раз удобно всегда помнить последний интервал дат применяемый в последнем отчете, возможно выбранного клиента, еще ряд параметров и тогда пользователь открывая отчеты где появляются новые парметры только их и определяет, уточняя даные введенные в других местах, очень удобно, пользователи в восторге. А такое часто, приходитт клиент и начинает просить отчет по счетам, выписку со счета, отчет по завершеным операциям, по незавершенным, выписку их реестра ипрочую ерунду и тут все очень быстро и оперативно. Потому у меня просто обявлены некоторые глобальные переменные и при открытии отчета, все необходимые переменные-параметры легко заполняются кодом предка от которого унаследованы все отчеты. Возможно есть другие решения, но жизнб показала устойчивым и этот подход.
Вообще моя практика показала, что когда возникает проблема передачи параметров и это начинает доставать, значит где то упущение в разработке интерфейса программы, не должно такого быть.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33842045
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за помощь.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33843584
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В FAQе есть Использование глобального объекта Message для передачи параметров между формами приложения
А также моё замечание по этому поводу:
В "Использование глобального объекта Message для передачи параметров между формами приложения" отсутствует самая главная часть.
Объект Message - наследуем, самым правильным его использованием является subclassing с обьявлением нужных примитивов и классов как protected variables, Setter/Getter методов для них, с последующей заменой стандартного объекта Message в Addtitional Properties of application object (in the painter - на закладке Variable Types), на свой...
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33845483
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelBuilder
Нрмальная техноогия, только по-моему слегка "за уши". Объяви свою структуру глобально и используй где ни попадя, только нездорово в принципе объявлять
.......................
Вообще моя практика показала, что когда возникает проблема передачи параметров и это начинает доставать, значит где то упущение в разработке интерфейса программы, не должно такого быть.

Спасибо за комментарий.

Каждый строит приложение по своему - отсюда и разные варианты решения схожих задач.

В своей задаче этим объектом снял проблему с передачей параметров ( вроде бы полностью )
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33845905
PavelBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ссылке что дал Филипп, есть колмментарий:

OpenWithParm также не гарантирует доставки Message событию open окна.
Попробуйте добавить в окне some_window u_em из pfc, в конструкторе которого напишите скрипт:
of_setdropdowncalendar ( true)
Ваш пример работать не будет.

Это как раз ответ на то всегда ли будет работать передача параметров через message, так вот не всегда, стандартный объект может использоваться при работе конструкторов и ... но pfc использует n_msg объект, т.е. они поступили придерживаясь политике наследования, расширения фукнционала нового объекта и его использования, так что даже используя n_msg проблем быть не должно, а если переживаете, то надо создавать свои "навески". А вообще действительно красиво получается :)
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33848994
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelBuilderПо ссылке что дал Филипп, есть колмментарий:

Это как раз ответ на то всегда ли будет работать передача параметров через message, так вот не всегда, стандартный объект может использоваться при работе конструкторов и ... но pfc использует n_msg объект, т.е. они поступили придерживаясь политике наследования, расширения фукнционала нового объекта и его использования, так что даже используя n_msg проблем быть не должно, а если переживаете, то надо создавать свои "навески". А вообще действительно красиво получается :)

Извините за дурацкий вопрос. Если я, ну очень ленивый, значит ли что использование n_msg.PowerObjectParm предпочтительнее чем Message.PowerObjectParm ?

Спасибо.
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #33850239
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edmikecaИзвините за дурацкий вопрос. Если я, ну очень ленивый, значит ли что использование n_msg.PowerObjectParm предпочтительнее чем Message.PowerObjectParm ?
Дурацкий ответ. Если n_msg наследник Message то нет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Передача параметра из меню.
    #38102973
bce_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PavelBuilder,

А можно пример, как это выглядит?
...
Рейтинг: 0 / 0
Передача параметра из меню.
    #38111519
Фотография Ursego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон если не стопроцентно в тему, но, возможно, это пригодится.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Передача параметра из меню.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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