Обновление буфер таблицы и записи в очереди
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- StillZero
- Ветеран
- Сообщения: 454
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Контактная информация:
Обновление буфер таблицы и записи в очереди
Два связанных между собой вопроса:
1. При ThisWindow.Update не происходит обновление буфера таблицы и текущей выделенной записи в list-box-е. Хотя это я могу понять. Типо причем здесь ABC.
2. Есть метод брауза Action(LONG Control),LONG,VIRTUAL служит для enable/disable-а контролов.
Этот метод не вызывается при вызове PopupMenu, т.е. не вызывается при MouseRight.
На самом деле мне надо, чтобы этот метод вызывался при MouseRightUp. Само собой, на момент вызова метода буфер таблицы должен содержать актуальные данные.
1. При ThisWindow.Update не происходит обновление буфера таблицы и текущей выделенной записи в list-box-е. Хотя это я могу понять. Типо причем здесь ABC.
2. Есть метод брауза Action(LONG Control),LONG,VIRTUAL служит для enable/disable-а контролов.
Этот метод не вызывается при вызове PopupMenu, т.е. не вызывается при MouseRight.
На самом деле мне надо, чтобы этот метод вызывался при MouseRightUp. Само собой, на момент вызова метода буфер таблицы должен содержать актуальные данные.
- StillZero
- Ветеран
- Сообщения: 454
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Контактная информация:
да и пока обошелся таким кодом:
и проверкой enable/disable на NewSelection, но это не гуд
Код: Выделить всё
! обновляем запись перед показом PopupMenu
IF EVENT()=EVENT:AlertKey
IF FIELD()=?List
CASE KEYCODE()
OF MouseRightUp
OROF ShiftF10
GET(Queue:Browse,choice(?List))
IF NOT ERRORCODE()
PC:PriceChangeID = Queue:Browse.PriceChangeID
ERR# = MAVGET(CS_PriceChanges)
BRW1:Browse.NewSelection()
END
END
END
END
- Admin
- Администратор
- Сообщения: 3961
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Подтверждаю слова Андрея.
Маленько опишу что у меня не получается...
Используем свой класс Popup вместо встроенного в вровз MAV
По MouseRightUp вызываем свой popup в котором настроен mimic на кнопки типа insert, change, delete. Но они не disabled в соответствии с правилами заданными в методе ... Action
пофиксить бы и обновление получить на мыло ... в смысле ссылку на обновление.
Заранее благодарю!
Маленько опишу что у меня не получается...
Используем свой класс Popup вместо встроенного в вровз MAV
По MouseRightUp вызываем свой popup в котором настроен mimic на кнопки типа insert, change, delete. Но они не disabled в соответствии с правилами заданными в методе ... Action
пофиксить бы и обновление получить на мыло ... в смысле ссылку на обновление.
Заранее благодарю!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: Обновление буфер таблицы и записи в очереди
не знаю как ABC, но есть соответсвующий метод .NewSelection, он инициализирует буфер файла, ну естественно вызывается и на NewSelection и на AlertKeyStillZero писал(а):Два связанных между собой вопроса:
1. При ThisWindow.Update не происходит обновление буфера таблицы и текущей выделенной записи в list-box-е. Хотя это я могу понять. Типо причем здесь ABC.
он и содержит актуальные значения т к обработка MouseRight идёт уже после PARENT.NewSelectionStillZero писал(а):2. Есть метод брауза Action(LONG Control),LONG,VIRTUAL служит для enable/disable-а контролов.
Этот метод не вызывается при вызове PopupMenu, т.е. не вызывается при MouseRight.
На самом деле мне надо, чтобы этот метод вызывался при MouseRightUp. Само собой, на момент вызова метода буфер таблицы должен содержать актуальные данные.
Код: Выделить всё
BRW1:Browse.NewSelection PROCEDURE
CODE
PARENT.NewSelection
CASE KEYCODE()
OF MouseRight
SETKEYCODE(0)
SELF.PreparePopup
END
SELF.Run_View = SELF.Popup.AddPos(SELF.Popup.GetText(?View),0,0,CHOOSE(SELF.Action(?View)=0,1,0),1)
судя по вопросам - дело всё в ручках, где то косяк в ручном кодировании или CYCLE в ACCEPT'е стоит и MAV:WindowManager.events() не отрабатывается, а он стоит в конце ACCEPT'а
а чего фиксить то, если дело в ручках, тока сейчас понЯл в чём дело, Вы сами реализуете обработку AlertKey до штатной обработки MAVBrowse объекта, я уже писал что эта обработка идёт в конце ACCEPT'а в MAV:WindowManager'еAdmin писал(а):Подтверждаю слова Андрея.
Маленько опишу что у меня не получается...
Используем свой класс Popup вместо встроенного в вровз MAV
По MouseRightUp вызываем свой popup в котором настроен mimic на кнопки типа insert, change, delete. Но они не disabled в соответствии с правилами заданными в методе ... Action
пофиксить бы и обновление получить на мыло ... в смысле ссылку на обновление.
Заранее благодарю!
про вызов метода Action я тоже написал, вызывается он при конструировании POPUP элемента меню:
Код: Выделить всё
SELF.Run_View = SELF.Popup.AddPos(SELF.Popup.GetText(?View),0,0,CHOOSE(SELF.Action(?View)=0,1,0),1)