|
|
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
Версия 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 это не лечит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:25 |
|
||
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
Попробуй сделать Regenerate для всех пбл, иногда помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:42 |
|
||
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
zuzuПопробуй сделать Regenerate для всех пбл, иногда помогает. Пробовал... еще перед тем как написать первое собщение... и по одной pbl последовательно и оптом используя Full Rebuild... Оно, конечно сейчас работает... но наверняка ведь потом аукнется... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:59 |
|
||
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
ДремучийКАК добиться того, что бы PB работал с событиями предка всегда и везде одинаково??? .... В большенстве случаев вызов соответствующего события происходит автоматически, но иногда... Все проблемы от того, что Вы правили руками экспортированный исходник объекта, не зная полного синтаксиса. В этом случае никто и не обещал что все будет работать правильно. Причем в первом описанном случае скорее всего так же было редактирование исходника, потом обнаружилось, что предок не вызывается, и не разобравшись вставили call super..., хотя достаточно было включить Extend Ancestor Script (в этом частном случае; в общем случае больше действий) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 13:03 |
|
||
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyВсе проблемы от того, что Вы правили руками экспортированный исходник объекта, не зная полного синтаксиса. В этом случае никто и не обещал что все будет работать правильно. Вы удивительно (или не удивительно) правильно предположили местонахождение ошибки (точнее одного нюанса, который я не знал, когда эмоционально писал первое сообщение)... Единственное я не понимаю почему Вы четко не сказали в чем она. Я почему-то думаю, что Вы знаете из-за чего все было. Anatoly MoskovskyПричем в первом описанном случае скорее всего так же было редактирование исходника, потом обнаружилось, что предок не вызывается, и не разобравшись вставили call super..., хотя достаточно было включить Extend Ancestor Script (в этом частном случае; в общем случае больше действий) 1. Думаю, что там было тоже вынужденное редактирование исходника. Но лично мне очень интересно - почему в дальнейшем надобность в подпорке отпала. Причем отпала самопроизвольно, т.к. я там не правил, а автор уже давно этим не занимается. 2. Не подскажите, как можно выйти на "Extend Ancestor Script"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 14:15 |
|
||
|
Проблемы с super::event
|
|||
|---|---|---|---|
|
#18+
Дремучий Anatoly MoskovskyВсе проблемы от того, что Вы правили руками экспортированный исходник объекта, не зная полного синтаксиса. В этом случае никто и не обещал что все будет работать правильно. Вы удивительно (или не удивительно) правильно предположили местонахождение ошибки (точнее одного нюанса, который я не знал, когда эмоционально писал первое сообщение)... Единственное я не понимаю почему Вы четко не сказали в чем она. Я почему-то думаю, что Вы знаете из-за чего все было. Почему же, я сказал из-за чего: не был установлен флаг Extend Ancestor Script 2. Не подскажите, как можно выйти на "Extend Ancestor Script"? В PB9 - в контекстном меню скрипта события, в 7 - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 15:13 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33057492&tid=1338368]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 326ms |

| 0 / 0 |
