powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблемы с super::event
7 сообщений из 7, страница 1 из 1
Проблемы с super::event
    #33057106
Дремучий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия PB 7.0.3 Build 10312

Ситуация - Приходит пользователь и говорит
"1. Не работает сортировка в таком-то окне (пусть будет w_1).
2. Прошу сделать сортировку в таком-то окне (пусть будет w_2)."

Ну, если пользователь хочет... Полез смотреть, что произошло в окне W_1... Выяснил. Мы используем собственные расширения стандартных элементов. В частности, в данном случае использовался наше собственное расширение элемента dataWindow (пусть будет называться uo_my_dw). Проблема оказалась в том, что в начале события clicked на DW стояло "super::event clicked( xpos, ypos, row, dwo )" и из-за этого родительское событие вызывалось дважды (т.е. сначала сортировало, а потом после вторичного вызова все разсортировывало обратно). Проблема была решена просто - закоментарил нафиг принудительный вызов и все дела.
После этого перешел ко второму пожеланию пользователя... В нужном DW в окне w_2 использовался не наш расширеный объект, а родной. Решение было простое - экспортировал это окно, потом прошелся по текстовому варианту и везде заменил "datawindow" на "uo_my_dw"... результат супер - не сортирует! Чтобы сортировка заработала пришлось добавить "super::event clicked( xpos, ypos, row, dwo )". Сейчас работает.

Ощущения исключительно матерные. КАК добиться того, что бы PB работал с событиями предка всегда и везде одинаково??? В большенстве случаев вызов соответствующего события происходит автоматически, но иногда... Обращаю внимание, что в первом окне видимо тоже первоначально событие предка не вызывалось - добавил же кто-то "super::event clicked( xpos, ypos, row, dwo )"!!!!!

regenerate это не лечит.
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33057164
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй сделать Regenerate для всех пбл, иногда помогает.
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33057229
Дремучий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzuПопробуй сделать Regenerate для всех пбл, иногда помогает.
Пробовал... еще перед тем как написать первое собщение... и по одной pbl последовательно и оптом используя Full Rebuild...

Оно, конечно сейчас работает... но наверняка ведь потом аукнется... :(
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33057250
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДремучийКАК добиться того, что бы PB работал с событиями предка всегда и везде одинаково???
....
В большенстве случаев вызов соответствующего события происходит автоматически, но иногда...

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

Причем в первом описанном случае скорее всего так же было редактирование исходника, потом обнаружилось, что предок не вызывается, и не разобравшись вставили call super..., хотя достаточно было включить Extend Ancestor Script (в этом частном случае; в общем случае больше действий)
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33057492
Дремучий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВсе проблемы от того, что Вы правили руками экспортированный исходник объекта, не зная полного синтаксиса.
В этом случае никто и не обещал что все будет работать правильно.
Вы удивительно (или не удивительно) правильно предположили местонахождение ошибки (точнее одного нюанса, который я не знал, когда эмоционально писал первое сообщение)... Единственное я не понимаю почему Вы четко не сказали в чем она. Я почему-то думаю, что Вы знаете из-за чего все было.

Anatoly MoskovskyПричем в первом описанном случае скорее всего так же было редактирование исходника, потом обнаружилось, что предок не вызывается, и не разобравшись вставили call super..., хотя достаточно было включить Extend Ancestor Script (в этом частном случае; в общем случае больше действий)
1. Думаю, что там было тоже вынужденное редактирование исходника. Но лично мне очень интересно - почему в дальнейшем надобность в подпорке отпала. Причем отпала самопроизвольно, т.к. я там не правил, а автор уже давно этим не занимается.
2. Не подскажите, как можно выйти на "Extend Ancestor Script"?
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33057715
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дремучий Anatoly MoskovskyВсе проблемы от того, что Вы правили руками экспортированный исходник объекта, не зная полного синтаксиса.
В этом случае никто и не обещал что все будет работать правильно.
Вы удивительно (или не удивительно) правильно предположили местонахождение ошибки (точнее одного нюанса, который я не знал, когда эмоционально писал первое сообщение)... Единственное я не понимаю почему Вы четко не сказали в чем она. Я почему-то думаю, что Вы знаете из-за чего все было.
Почему же, я сказал из-за чего: не был установлен флаг Extend Ancestor Script


2. Не подскажите, как можно выйти на "Extend Ancestor Script"?
В PB9 - в контекстном меню скрипта события, в 7 - не знаю.
...
Рейтинг: 0 / 0
Проблемы с super::event
    #33058051
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В PB 7 там же.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблемы с super::event
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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