Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Закоренелый процедурщик решился наконец-то освоить ABC.
Ситуация следующая:
- в списке 2 столбца
- 2-ой столбец редактируется EIP, 1-ый не редактируется
- редактируем 2-ой столбец
При newselection этой же строки но первого столбца почему-то редактирование не completed, а лишь цветом программа дает понять что выбран 1-ый столбец. А хотелось бы чтоб редактирование завершалось.
Помогите пож-та!
Денис писал(а):1. EIP стандартный или используешь сторонний шаблон?
2. Тебе действительно нужно EIP ? Может можно сделать редактирование через форму?
EIP стандартный. Для редактирования одного лишь значения делать отдельную форму совсем уж не хочется.
Я пытался повесить на newselection по списку takecompleted на EIP, но по дебагу заметил интересную вещь:
когда редактирование активно во 2-ой колонке и мы щелкаем по первой в этой же строке событие newselection происходит после того как мы завершим редактирование во 2-ой колонке.
Короче странно как-то ...
Не сталкивался с таким поведением, хотя сам постоянно узаю штатный EIP - и вполне его хватает (даже для сложных вещей). Да, может еще для удобства в глобалах->Classes->Browser на закладке EIP->Template Interface выбрать Detailed...
У меня вроде тоже проблем с EIP не было.Правда, я работаю на последней доступной версии клаши, а в старых версиях проблемы могут быть(раньше до нашей эры в дос мы эут штуку писали руками,а появилась она относительно недавно, так что укажи версию клаши, где есть проблемы)
lsgsoftware писал(а):У меня вроде тоже проблем с EIP не было.Правда, я работаю на последней доступной версии клаши, а в старых версиях проблемы могут быть(раньше до нашей эры в дос мы эут штуку писали руками,а появилась она относительно недавно, так что укажи версию клаши, где есть проблемы)
Версия 6.1 Build 9034. Неужели никто не сталкивался с такой ситуацией. Здесь лежит этот простой пробный проект
http://mike_ch.at.tut.by/EIPprobe.zip Там описана проблема.
Вобщем тяжело мне дается ABC. Посмотрите кому не влом.
Проблема несколько надумана. Если в одной строке таблицы открыто для редактирования несколько полей, то перевод фокуса на другое редактируемое поле разве должен приводить к сохранению/закрытию процедуры EIP?
Поэтому шаблонный EIP так себя и ведет, и в общем-то правильно он себя ведет...
Dias2004 писал(а):Проблема несколько надумана. Если в одной строке таблицы открыто для редактирования несколько полей, то перевод фокуса на другое редактируемое поле разве должен приводить к сохранению/закрытию процедуры EIP?
Поэтому шаблонный EIP так себя и ведет, и в общем-то правильно он себя ведет...
Так это понятно что он себя правильно ведет. Вопрос в том, как отловить событие и заставить EIP accept при переводе фокуса в другое поле текущей записи. У меня в таблице же открыто только одно поле для редактирования.
Вообщем, нашел след. решение. Заметил, что при активном EIP во 2-ой колонке, если выбрать 1-ую колонку этой же записи - выполняется метод EIP TakeAccepted, но не выполняется TakeCompleted. TakeCompleted выполняется если мы станем на другую строчку. Поэтому я после выполнения EIP TakeAccepted вставил строку
PARENT.TakeCompleted(Button:Yes)
Теперь все работает так как я хочу .
Подскажите пожалуйста кто может как мне организовать edit in place при помощи ABC для List построенного на очереди.