Вверх ↑
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
#1: 2016-03-29 17:38:12 ЛС | профиль | цитата
code_37092.txt

И по doText в поле ничего не появляется! А при ClearAfterEnter=false всё работает. Думаю, это ошибка, надо исправить.
карма: 9
0
файлы: 1code_37092.txt [263B] [587]
Ответов: 9906
Рейтинг: 351
#2: 2016-03-29 18:12:40 ЛС | профиль | цитата
А я думаю, что ClearAfterEnter, это также и after onEnter.

На всякий случай: это вовсе не я придумывал этот злосчастный Clear. И потом -- это злосчастное свойство (которое, кстати говоря, сделало несовместимость со старыми схемами)
Обычно, по onEnter лично я выполняю doSelectAll.

В общем, создали трудность, а потом ее героически преодолеваем...
карма: 9

0
Ответов: 8926
Рейтинг: 823
#3: 2016-03-29 18:15:57 ЛС | профиль | цитата
3042, написано же "ClearAfterEnter" -- а цепь событий после Enter кончается, когда слово занесено в Edit, оно и очищается. А разорвать цепочку можно Таймером "героически преодолеваем" code_37093.txt
карма: 19

0
файлы: 1code_37093.txt [356B] [616]
Ответов: 2059
Рейтинг: 132
#4: 2016-03-29 19:14:15 ЛС | профиль | цитата
Ошибся. Случайно.
Не считать за ответ.
карма: 6

0
файлы: 1code_37094.txt [4.4KB] [605]
Гость
Ответов: 17029
Рейтинг: 0
#5: 2016-03-30 09:09:56 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-24 08:50:35
карма: 0

0
Ответов: 1926
Рейтинг: 172
#6: 2016-03-30 09:11:47 ЛС | профиль | цитата
Выше я.
------------ Дoбавленo в 09.11:
И это тоже:
Galkov писал(а):
несовместимость со старыми схемами

карма: 9
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#7: 2016-03-30 11:06:07 ЛС | профиль | цитата
178.72.71.165 писал(а):
но когда по doText ничего не появляется - это неправильно

Ну так сделай правильно, а мы посмотрим
------------ Дoбавленo в 11.06:
Надо полагать, что все это безобразие творится вот по этой причине

      if _prop_DataType(dt) then  begin
_hi_onEvent(_event_onEnter,dt);
if _prop_ClearAfterEnter then begin
ChangeEvent := false; // Установка Control.Text вызывает _OnChange !!!
Control.Text := '';
end;
end;
Сначала срабатывает событие _event_onEnter, а затем все благополучно удаляется, но ведь так было изначально, а свойство _prop_ClearAfterEnter было добавлено поверх уже готового кода и просто включает и выключает режим очистки, ничего не переставляя.
карма: 22

0
Ответов: 1926
Рейтинг: 172
#8: 2016-03-30 15:17:24 ЛС | профиль | цитата
nesco писал(а):
Надо полагать, что все это безобразие творится вот по этой причине

Ну да. Если их поменять местами, думаю, совместимость не пострадает.

      if _prop_DataType(dt) then  begin
if _prop_ClearAfterEnter then begin
ChangeEvent := false; // Установка Control.Text вызывает _OnChange !!!
Control.Text := '';
end;
_hi_onEvent(_event_onEnter,dt);
end;
карма: 9
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#9: 2016-03-30 15:23:40 ЛС | профиль | цитата
3042 писал(а):
Если их поменять местами, думаю, совместимость не пострадает

Можешь у себя поменять, мы не против. А так подождем, что скажет начальник транспортного цеха. Да, еще -- свойство _prop_ClearAfterEnter придется переименовывать, тк оно будет уже не соответствовать действительности. А ты говоришь, что совместимость не пострадает
карма: 22

0
Ответов: 1926
Рейтинг: 172
#10: 2016-03-30 15:47:17 ЛС | профиль | цитата
Нет, без SVN у себя менять не буду, а то точно несовместимость будет.

nesco писал(а):
свойство _prop_ClearAfterEnter придется переименовывать

Не придётся, т.к. ClearAfterEnter - это (как я понимаю, да и логично вполне) "очистка после нажатия Enter", а не "очистка после события onEnter"

Edit.ini писал(а):
Author=Dilma&Galkov

Galkov где-то здесь. Dilma, ау...

[offtop]nesco, я же просто сообщаю здесь, в подходящем разделе и найденных недостатках. По-моему, нужно воспринимать их более конструктивно, ИМХО[/offtop]
карма: 9
1
Голосовали:Nickname
Разработчик
Ответов: 26158
Рейтинг: 2127
#11: 2016-03-30 17:11:24 ЛС | профиль | цитата
3042, но раз так было сделано изначально, значит автор преследовал какие-то цели. И чем тебе не понравилось решение с таймером?
карма: 22

0
Ответов: 1926
Рейтинг: 172
#12: 2016-03-30 17:35:42 ЛС | профиль | цитата
nesco писал(а):
автор преследовал какие-то цели

А может, просто не заметил косяка?

А насчёт таймера - зачем лишние компоненты, связи, сложности?
------------ Дoбавленo в 17.35:
Кстати, если по onEnter текст после преобразований подаётся на doText, ClearAfterEnter можно спокойно ставить в false, т.к. всё равно старый текст затрётся новым. Но это не уменьшает важности корректировки кода.
карма: 9
0
Ответов: 1926
Рейтинг: 172
#13: 2016-03-31 21:07:08 ЛС | профиль | цитата
Ну вот как думаете, какой вариант логичнее?

code_37101.txt
Согласитесь, первый же
Собственно, это аналогия на тему Edit.
карма: 9
0
файлы: 1code_37101.txt [1.7KB] [622]
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)