Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Не вызывается EVENT / 17 сообщений из 17, страница 1 из 1
23.10.2005, 18:07
    #33339150
Levon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Приветствую, коллеги! Помогите пожалуйста разобраться с такой штукой- есть некая функция, в ней делаю следующее:
Код: plaintext
1.
2.
3.
window lw_window 
lw_window = gn_msg_cur.ia_param
lw_window.trigger dynamic event  ue_grafik_out(.....)

Событие не вызывается! gn_msg_cur - объект типа message, т.е. я просто предаю окно, для которого надо вызвать событие. Если написать тупо имя окна и не писать DYNAMIC, всё работает.
Заранее спасибо!
...
Рейтинг: 0 / 0
24.10.2005, 10:41
    #33339674
PVG
PVG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Попробуй использовать ф-цию TriggerEvent().
...
Рейтинг: 0 / 0
24.10.2005, 11:51
    #33339922
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
А зачем тут вообще dynamic
Это несколько из другой оперы
...
Рейтинг: 0 / 0
24.10.2005, 11:54
    #33339930
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
т е я так понимаю
окно = имя окна
Или как?
...
Рейтинг: 0 / 0
24.10.2005, 11:56
    #33339938
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
если так попробуй передать не окно а указатель на него
ref {windowname}
...
Рейтинг: 0 / 0
24.10.2005, 12:06
    #33339981
PVG
PVG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
spas2001А зачем тут вообще dynamic
Это несколько из другой оперыПотому что компилятор будет ругаться.

spas2001если так попробуй передать не окно а указатель на него
ref {windowname}Оно так и передаётся.

Используйте TriggerEvent() и проверяйте возвращаемое значение.
...
Рейтинг: 0 / 0
24.10.2005, 12:12
    #33340009
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
по ссылке возвращается то самое окно, а не экземпляр
а у него и так написано event trigger
Насчет dynamic я действительно скосячил, спасибо что поправил
...
Рейтинг: 0 / 0
24.10.2005, 12:13
    #33340011
PVG
PVG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Причиной наверняка является то что gn_msg_cur.ia_param в момент вызова ф-ции не содержит ссылки на окно. Проверяйте ссылки через IsNull(), IsValid().
...
Рейтинг: 0 / 0
24.10.2005, 12:23
    #33340032
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Вообще-то если окно открыто оно и valid
Просто параметром надо передать ссылку
...
Рейтинг: 0 / 0
24.10.2005, 15:50
    #33340649
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
spas2001Вообще-то если окно открыто оно и valid
Просто параметром надо передать ссылку

Объекты (в отличие от переменных и структур) в Powerbuilder ВСЕГДА передаются по ссылке.
ref window необходим ТОЛЬКО когда надо передать объект ИЗ функции.
аналогично OUTPUT параметрам в T-SQL.

spas2001по ссылке возвращается то самое окно, а не экземпляр
бред.
...
Рейтинг: 0 / 0
24.10.2005, 16:01
    #33340683
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Не факт батенька, не факт особенно в Pb
Тем более он и говорит про event
...
Рейтинг: 0 / 0
24.10.2005, 16:03
    #33340697
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
reference
A handle used to access an object instance.
А если по другому то будет выглядеть как живое только не рабочее
...
Рейтинг: 0 / 0
24.10.2005, 16:24
    #33340762
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
spas2001reference
A handle used to access an object instance.
А если по другому то будет выглядеть как живое только не рабочее


Objects passed by value

When you pass an object by value, you pass a copy of the reference to the object. That reference is still pointing to the original object. If you change properties of the object, you are changing the original object. However, you can change the value of the variable so that it points to another object without affecting the original variable.

Objects passed by reference

When you pass an object by reference, you pass a pointer to the original reference to the object. Again, if you change properties of the object, you are changing the original object. You can change the value of the variable that was passed, but the result is different--the original reference now points to the new object.


В двух словах - когда объект передается by value - передается ССЫЛКА (reference) на объект.
когда передается объект by reference - передается ССЫЛКА (pointer ) на ССЫЛКУ ( reference )

а "если так попробуй" - это как говорит Филипп - "размахивание дохлыми курицами".

Скорее всего прав PVG надо проверять что там на самом деле в any - isValid, isNull, ClassName и т.п.
...
Рейтинг: 0 / 0
24.10.2005, 16:55
    #33340881
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Извини, как сказал мне Филлип, плохо владею терминологией
Ты сам Андрей сказал то что я не смог описать
Только пожалуйста поменьше злись
То что я плохо объясняю не значит что я плохой программист
...
Рейтинг: 0 / 0
24.10.2005, 16:58
    #33340894
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
Но насчет использования IsValid при таких вызывах - это как минимум хороший тон
...
Рейтинг: 0 / 0
24.10.2005, 18:25
    #33341151
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
spas2001Извини, как сказал мне Филлип, плохо владею терминологией
Ты сам Андрей сказал то что я не смог описать
Только пожалуйста поменьше злись
То что я плохо объясняю не значит что я плохой программист
Лучше НЕ объяснять вообще, чем объяснять плохо - обязательно прослывёте плохим программистом.
В моём понимании - то как человек объясняет, весьма неплохо отражает то как он думает. Если вы думаете так, как объясняете - вы плохой пограммист.
...
Рейтинг: 0 / 0
25.10.2005, 10:17
    #33341765
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается EVENT
А мне доказывать никому ничего не надо (плохой я или хороший)
А вы Филипп не судите о человеке по высказываниям
Ваши объяснения тоже точностью не блещут
Просто с половиной ситуаций я уже сталкивался и успешно решил
без всякой помощи зала, а теперь инет появился - хочется помочь
людям
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Не вызывается EVENT / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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