Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

Зависает Memo. Что делать?   Найти похожие ветки 

 
Miroving   (2007-08-12 18:47) [0]

В Memo добавляю в цикле строки:

for i := 0 to 100 do
   Memo1.Lines.Add("XXXXX");


Видимая часть Memo1 - строк 10, поэтому поставил вертикальную полосу прокрутки.

В преимущественном болшинстве случаев строки добавляются нормально, но при попытке скроллинга система виснит.

Иногда бывает, что виснет и при попытке добавления. Пичём, процесс висит от минуты до 5-ти, потом отпускает, но при попытке передать фокус Memo1 виснет снова и т.д.  Что это за ошибка и как её можно исправить?  Спасибо.


 
TUser ©   (2007-08-12 19:05) [1]

BeginUpdate/EndUodate


 
Miroving   (2007-08-12 19:26) [2]


> BeginUpdate/EndUodate

Помогло, но не совсем. Скроллинг теперь отрабатывает нормально, но осталась другая проблема:
у меня у Memo1 стоит property readonly. И если устанавливаю мигающий курсор в поле Memo1 и пытаюсь им пройтись по записям (pgUp/pgDown), то как только курсор выходит из области видимости происходит зависание.

Как можно запретить устанавливать курсор в  Memo1 (именно не курсор мышки не должен ходить над областью, занимаемой Memo1, а мигающий курсор в Memo1)?


 
Leonid Troyanovsky ©   (2007-08-12 19:51) [3]


> Miroving   (12.08.07 18:47)  

> В преимущественном болшинстве случаев строки добавляются
> нормально, но при попытке скроллинга система виснит.

Отца русской демократии могут спасти контролы имеющие стиль *virtual,
f.e., TListBox - lbVirtual*, или даже обычный TDrawGrid.

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

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2007-08-12 20:00) [4]


> Miroving   (12.08.07 19:26) [2]

> Как можно запретить устанавливать курсор в  Memo1 (именно
> не курсор мышки не должен ходить над областью, занимаемой
> Memo1, а мигающий курсор в Memo1)?

Memo1.Enabled := False

--
Regards, LVT.


 
Miroving   (2007-08-12 20:06) [5]


> Memo1.Enabled := False

В этом случае нельзя скроллить :(


 
Anatoly Podgoretsky ©   (2007-08-12 20:07) [6]

Тебе не угодить.
Почему бы не разрешить редактирование мемо, что в этом плохого.


 
Miroving   (2007-08-12 20:11) [7]


> Тебе не угодить.
> Почему бы не разрешить редактирование мемо, что в этом плохого.
>


Можно конечно, но оно преднозначено только для вывода информации. Логичнее и красивее запретить.


 
Anatoly Podgoretsky ©   (2007-08-12 20:13) [8]

> Miroving  (12.08.2007 20:11:07)  [7]

Ничего плохого не вижу, а хорошее есть - пользователь может удалить лишнею информацию и все остальное работает.


 
Miroving   (2007-08-12 20:22) [9]

Кстати, если поставить

ReadOnly := false;
Enable := true;

то ошибка [2] остаётся.


 
Miroving   (2007-08-12 20:48) [10]

Забил я на этот Memo глючной, поставил StringGrid. Всё работает отлично.
Всем спасибо.


 
Leonid Troyanovsky ©   (2007-08-12 20:53) [11]


> Miroving   (12.08.07 20:48) [10]

> Забил я на этот Memo глючной, поставил StringGrid.

Memo не есть более глючный, чем StringGrid.
Правильней сказать: "непонятый".

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
1-1182725258
ssa
2007-06-25 02:47
2007.09.02
Как заменить выделенный текст в memo?


4-1173440828
dzuev
2007-03-09 14:47
2007.09.02
usb - порт и принтер


15-1186504289
leonidus
2007-08-07 20:31
2007.09.02
Разыскивается Янис Прасоль


2-1186511541
;peg
2007-08-07 22:32
2007.09.02
TWebBrowser и Memo


1-1182412276
ChaoX
2007-06-21 11:51
2007.09.02
Как запустить форму из пакета?