![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Зависает Memo. Что делать? [D7, XP]
Miroving © (2007-08-12 18:47:00)В Memo добавляю в цикле строки:
for i := 0 to 100 do
Memo1.Lines.Add('XXXXX');
Видимая часть Memo1 - строк 10, поэтому поставил вертикальную полосу прокрутки.
В преимущественном болшинстве случаев строки добавляются нормально, но при попытке скроллинга система виснит.
Иногда бывает, что виснет и при попытке добавления. Пичём, процесс висит от минуты до 5-ти, потом отпускает, но при попытке передать фокус Memo1 виснет снова и т.д. Что это за ошибка и как её можно исправить? Спасибо.
Leonid Troyanovsky (2007-08-12 20:53:00) [1]
> Miroving (12.08.07 20:48) [10]
> Забил я на этот Memo глючной, поставил StringGrid.
Memo не есть более глючный, чем StringGrid.
Правильней сказать: "непонятый".
--
Regards, LVT.
Miroving (2007-08-12 20:48:00) [2]Забил я на этот Memo глючной, поставил StringGrid. Всё работает отлично.
Всем спасибо.
Miroving (2007-08-12 20:22:00) [3]Кстати, если поставить
ReadOnly := false;
Enable := true;
то ошибка [2] остаётся.
Anatoly Podgoretsky (2007-08-12 20:13:00) [4]> Miroving (12.08.2007 20:11:07) [7]
Ничего плохого не вижу, а хорошее есть - пользователь может удалить лишнею информацию и все остальное работает.
Miroving (2007-08-12 20:11:00) [5]
> Тебе не угодить.
> Почему бы не разрешить редактирование мемо, что в этом плохого.
>
Можно конечно, но оно преднозначено только для вывода информации. Логичнее и красивее запретить.
Anatoly Podgoretsky (2007-08-12 20:07:00) [6]Тебе не угодить.
Почему бы не разрешить редактирование мемо, что в этом плохого.
Miroving (2007-08-12 20:06:00) [7]
> Memo1.Enabled := False
В этом случае нельзя скроллить :(
Leonid Troyanovsky (2007-08-12 20:00:00) [8]
> Miroving (12.08.07 19:26) [2]
> Как можно запретить устанавливать курсор в Memo1 (именно
> не курсор мышки не должен ходить над областью, занимаемой
> Memo1, а мигающий курсор в Memo1)?
Memo1.Enabled := False
--
Regards, LVT.
Leonid Troyanovsky (2007-08-12 19:51:00) [9]
> Miroving (12.08.07 18:47)
> В преимущественном болшинстве случаев строки добавляются
> нормально, но при попытке скроллинга система виснит.
Отца русской демократии могут спасти контролы имеющие стиль *virtual,
f.e., TListBox - lbVirtual*, или даже обычный TDrawGrid.
Правда, логику надо слегка переосмыслить.
--
Regards, LVT.
Miroving (2007-08-12 19:26:00) [10]
> BeginUpdate/EndUodate
Помогло, но не совсем. Скроллинг теперь отрабатывает нормально, но осталась другая проблема:
у меня у Memo1 стоит property readonly. И если устанавливаю мигающий курсор в поле Memo1 и пытаюсь им пройтись по записям (pgUp/pgDown), то как только курсор выходит из области видимости происходит зависание.
Как можно запретить устанавливать курсор в Memo1 (именно не курсор мышки не должен ходить над областью, занимаемой Memo1, а мигающий курсор в Memo1)?
TUser (2007-08-12 19:05:00) [11]BeginUpdate/EndUodate