Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RichEdit "глючит", подробнее в тексте 
:(
    Опции темы
Delvish
Дата 4.11.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 13.12.2006

Репутация: 1
Всего: 4



всем день добрый!
при обработке нажатых клавиш в определенный момент RichEdit перестает записывать символы, однако действия нажатых клавиш все же происходят. описание немного прояснит код:
Код

procedure TForm5.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #9 then
  begin
  Key := #0;
  {небольшой алгоритм действий}
  end;
if Key <> #13 then comm := comm + Key;
if Key = #13 then
  begin
  comm := '';
  Key := #0;
  {небольшой алгоритм действий}
  end;

end;


и все бы ничего, поначалу все работает замечательно. много раз нажимаешь и Tab, и Enter и другие кнопки - происходит то, что нужно. но в определенный момент в RichEdit'е перестают отображаться символы, хотя действия происходят и дальше и переменная comm записывает в себя нажатые клавиши... то ли из-за объема текста такое происходит (всякий раз объем разный), то ли на Tab в какой-то момент RichEdit криво реагирует - непонятно. странное поведение, в общем.
есть мысли в чем же может быть проблема?
{код сырой, надо в case переделать}
PM MAIL   Вверх
Delvish
Дата 9.11.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 13.12.2006

Репутация: 1
Всего: 4



UP темке... ни у кого так и не появилось идей?
PM MAIL   Вверх
Yanis
Дата 9.11.2011, 12:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Не совсем понятна ваша проблема. Ваш код (то, что вы представили) делает то, что он должен.
Аномалии могут быть в том случае, когда вы хотите чтобы программа выполняла одно, а запрограммировали (по ошибке или незнанию) другое.

Попробуйте внимательно перепроверить соответствие кода логике программы, и перефразируйте вопрос.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Delvish
Дата 9.11.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 13.12.2006

Репутация: 1
Всего: 4



код там не слишком уж и замысловат... вот он весь, если это сыграет какое-то значение. и, как я уже написал раньше, работает до поры - до времени. сначала RichEdit прекрасно записывает в себя нажатые символы, а потом загадочным образом перестает это делать, хотя нажатые кнопки в переменную Key попадают и обрабатываются по алгоритму

Код

procedure TForm5.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #9 then
  begin
  Key := #0;
  SSH.PostCommand(comm + #9);
  comm := '';
  RichEdit1.Text := (SSH.ReceiveData);
  RichEdit1.SelStart := RichEdit1.GetTextLen;
  RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
  end;
if Key <> #13 then comm := comm + Key;
if Key = #13 then
  begin
  SSH.SendCommand(comm);
  comm := '';
  Key := #0;
  RichEdit1.Text := (SSH.ReceiveData);
  RichEdit1.SelStart := RichEdit1.GetTextLen;
  RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
  end;

end;


перепроверил не один раз - причина "глюка" неизвестна
PM MAIL   Вверх
EvgeniL
Дата 15.2.2012, 06:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.2.2012

Репутация: нет
Всего: нет



аналогично, только у меня С++
динамически создаваемый (на время работы с ним) в CView CRichEditCtrl стабильно и сразу съезжает после вывода и закрытия print preview
хотя нажатия Space и BackSpace контрол продолжает отлавливать

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.