Метод сохранения в EIP

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Метод сохранения в EIP

Сообщение Игорь Столяров »

Привет всем !

Clarion 63/10, ABC.
Есть BROWSE, в нём включен EIP. Нужно после завершения редактирования строки выполнить проверку введённых данных.

Если сохранение выполняется нажатием ENTER - то это место BRW1::EIPManager.TakeCompleted PROCEDURE(BYTE Force).
Здесь всё понятно.

Если сохранение выполняется нажатием TAB на последнем редактируемом поле в строке BROWSE, то выдаётся запрос:

SaveEIP.jpg

Не могу понять в каком методе EIP он выдаётся ? Как поймать эту точку выдачи запроса, чтобы вставить перед ней проверку ?
Заранее спасибо за помощь … :)
За теми кто отстал - не возвращаться. (С) Кодекс
PavelNK
Старожил
Сообщения: 262
Зарегистрирован: 15 Март 2011, 8:02

Метод сохранения в EIP

Сообщение PavelNK »

Видимо здесь
control.tpw
#CONTROL(SaveButton,'Write Records to a data file'),PRIMARY('Update Record on Disk',NOKEY),DESCRIPTION('Update ' & %Primary & ' record on disk'),WINDOW,HLP('~TPLControlSaveButton')

IF RecordChanged
#IF(%ActionOnCancel = 'Offer to save changes')
CASE StandardWarning(Warn:SaveOnCancel)
OF Button:Yes
POST(Event:Accepted,%OKControl)
Update::Reloop = 1
EXIT
OF Button:No
OF BUTTON:Cancel
SELECT(%FirstField)
Update::Reloop = 1
EXIT
END
#ELSE
IF StandardWarning(Warn:ConfirmCancel) = Button:No
SELECT(%FirstField)
Update::Reloop = 1
EXIT
END
#ENDIF
END
#ENDIF
#ENDIF
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Метод сохранения в EIP

Сообщение kreator »

В свойствах EIP на нажатие Tab на последнем поле поставить значение для Save "Always". И вообще может на все действия пользователя выставить значение для Save "Always". А свою проверку делать в методе "TakeAcceptAll". Возможно как раз этот метод отвечает за вызов prompt'ов. Уже на помню. Нашёл, что свою проверку удобно делать там и сразу забыл.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Метод сохранения в EIP

Сообщение Игорь Столяров »

Спасибо ! Запрос действительно в TakeAcceptAll - далее разберусь … :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Метод сохранения в EIP

Сообщение kreator »

Хотя TakeCompleted явно вызывает TakeAcceptAll. Поэтому похоже по барабану. Посмотрел по тексту - при нажатии на Tab вызывается TakeCompleted(0).
We are hard at work… for you. :)
Ответить