Страница 1 из 2
Помогите с ABC классами
Добавлено: 06 Сентябрь 2007, 0:48
mike_ch
Закоренелый процедурщик решился наконец-то освоить ABC.

Ситуация следующая:
- в списке 2 столбца
- 2-ой столбец редактируется EIP, 1-ый не редактируется
- редактируем 2-ой столбец
При newselection этой же строки но первого столбца почему-то редактирование не completed, а лишь цветом программа дает понять что выбран 1-ый столбец. А хотелось бы чтоб редактирование завершалось.
Помогите пож-та!
Добавлено: 06 Сентябрь 2007, 1:37
Денис
1. EIP стандартный или используешь сторонний шаблон?
2. Тебе действительно нужно EIP ? Может можно сделать редактирование через форму?
Добавлено: 06 Сентябрь 2007, 9:22
Admin
Стандартный EIP такое гавно ...
Я бы вот это посоветовал:
http://forum.clarionlife.net/viewtopic.php?t=1154
Добавлено: 06 Сентябрь 2007, 10:45
mike_ch
Денис писал(а):1. EIP стандартный или используешь сторонний шаблон?
2. Тебе действительно нужно EIP ? Может можно сделать редактирование через форму?
EIP стандартный. Для редактирования одного лишь значения делать отдельную форму совсем уж не хочется.
Я пытался повесить на newselection по списку takecompleted на EIP, но по дебагу заметил интересную вещь:
когда редактирование активно во 2-ой колонке и мы щелкаем по первой в этой же строке событие newselection происходит после того как мы завершим редактирование во 2-ой колонке.
Короче странно как-то ...
Добавлено: 06 Сентябрь 2007, 10:55
mike_ch
А я бы посмотрел

"Извините, только пользователи со специальными правами доступа могут читать сообщения в этом форуме"
Добавлено: 06 Сентябрь 2007, 11:53
Admin
Welcome to Private area!

В смысле попробуй еще раз ...
Добавлено: 06 Сентябрь 2007, 12:38
mike_ch
Admin писал(а):Welcome to Private area!

В смысле попробуй еще раз ...
Спасибо! посмотрю что за чудо ...

Добавлено: 06 Сентябрь 2007, 14:52
Леонид
Не сталкивался с таким поведением, хотя сам постоянно узаю штатный EIP - и вполне его хватает (даже для сложных вещей). Да, может еще для удобства в глобалах->Classes->Browser на закладке EIP->Template Interface выбрать Detailed...
Добавлено: 10 Сентябрь 2007, 13:37
lsgsoftware
У меня вроде тоже проблем с EIP не было.Правда, я работаю на последней доступной версии клаши, а в старых версиях проблемы могут быть(раньше до нашей эры в дос мы эут штуку писали руками,а появилась она относительно недавно, так что укажи версию клаши, где есть проблемы)
Добавлено: 11 Сентябрь 2007, 0:55
mike_ch
lsgsoftware писал(а):У меня вроде тоже проблем с EIP не было.Правда, я работаю на последней доступной версии клаши, а в старых версиях проблемы могут быть(раньше до нашей эры в дос мы эут штуку писали руками,а появилась она относительно недавно, так что укажи версию клаши, где есть проблемы)
Версия 6.1 Build 9034. Неужели никто не сталкивался с такой ситуацией. Здесь лежит этот простой пробный проект
http://mike_ch.at.tut.by/EIPprobe.zip Там описана проблема.
Вобщем тяжело мне дается ABC. Посмотрите кому не влом.
Добавлено: 14 Сентябрь 2007, 14:36
Dias2004
Проблема несколько надумана. Если в одной строке таблицы открыто для редактирования несколько полей, то перевод фокуса на другое редактируемое поле разве должен приводить к сохранению/закрытию процедуры EIP?
Поэтому шаблонный EIP так себя и ведет, и в общем-то правильно он себя ведет...
Добавлено: 19 Сентябрь 2007, 18:14
mike_ch
Dias2004 писал(а):Проблема несколько надумана. Если в одной строке таблицы открыто для редактирования несколько полей, то перевод фокуса на другое редактируемое поле разве должен приводить к сохранению/закрытию процедуры EIP?
Поэтому шаблонный EIP так себя и ведет, и в общем-то правильно он себя ведет...
Так это понятно что он себя правильно ведет. Вопрос в том, как отловить событие и заставить EIP accept при переводе фокуса в другое поле текущей записи. У меня в таблице же открыто только одно поле для редактирования.
Добавлено: 03 Октябрь 2007, 13:46
mike_ch
Вообщем, нашел след. решение. Заметил, что при активном EIP во 2-ой колонке, если выбрать 1-ую колонку этой же записи - выполняется метод EIP TakeAccepted, но не выполняется TakeCompleted. TakeCompleted выполняется если мы станем на другую строчку. Поэтому я после выполнения EIP TakeAccepted вставил строку
PARENT.TakeCompleted(Button:Yes)
Теперь все работает так как я хочу

.
Подскажите пожалуйста кто может как мне организовать edit in place при помощи ABC для List построенного на очереди.
Добавлено: 03 Октябрь 2007, 16:29
Igor
Global Properties->Classes->Browser->Template Interface меняю Original на Detailed (И будет тебе счастье

)
Добавлено: 03 Октябрь 2007, 18:04
Леонид
Igor писал(а):Global Properties->Classes->Browser->Template Interface меняю Original на Detailed (И будет тебе счастье

)
Не, счастья не будет. А то как надо - он описал уже. Правда я с этим никогда не запаривался, но человек нашел решение для себя.