Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Вниз

Зависает 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1185953843
Bless
2007-08-01 11:37
2007.09.02
задачка об обходе шахматной доски конем.


15-1186484853
ooserg
2007-08-07 15:07
2007.09.02
перехват сообщений


15-1186463631
KilkennyCat
2007-08-07 09:13
2007.09.02
Дожили: американцы учат программированию.


2-1186654674
fisherman
2007-08-09 14:17
2007.09.02
Уникальный код


15-1186037340
iXT
2007-08-02 10:49
2007.09.02
Вопрос по сетке.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский