Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TListView and "Array index out of bounds" [D5]


Магнум ©   (2005-06-16 10:15:00) 

Может быть проблема (ошибка "Array index out of bounds") из-за того, что во время его заполнения TListView программно отключается? (чтобы не реагировать на нажатия)

ListView1.Enabled := False;
ListView1.Items.BeginUpdate;
try
  ListView1.Items.Clear;

... ля-ля-ля, тополя ...
finally
  ListView1.Items.EndUpdate;
  ListView1.Enabled := True;
end;


Digitman   (2005-06-16 13:46:00) [1]

"У попа была собака .."

)

ListView1.Enabled := False;


Amoeba   (2005-06-16 13:44:00) [2]

Если хочешь предметного разговора, а не гадания на кофейной гуще, то - "код в студию".


Магнум   (2005-06-16 13:36:00) [3]

А вообще, как можно сделать запрет нажатия на ЛистВью? Что-то вроде CanSelect...


Anatoly Podgoretsky   (2005-06-16 12:29:00) [4]

evvcom ©   (16.06.05 12:16) [14]
Не только, по ходу кроме тополей появились и дубы. А это уже посерьезней.


evvcom   (2005-06-16 12:16:00) [5]

код твоего "ля-ля-ля, тополя..." плиз


Anatoly Podgoretsky   (2005-06-16 12:14:00) [6]

Если так то проблема синхронизации. И все из-за ля-ля-ля


Digitman   (2005-06-16 11:42:00) [7]


> Магнум   (16.06.05 11:26) [10]
> Параллельно запущен поток TThread, который выполняет полезную
> работу.


ну и пусть себе выполняет !
зачем win-сообщения-то обрабатываешь в "ля-ля-ля, тополя" ?
и как обрабатываешь ?
или твой доп.тред шлет основному какие-то сообщения, которые как-то влияют на состояние визуализируемого в дан.момент списка ?


ЮЮ   (2005-06-16 11:30:00) [8]

>Параллельно запущен поток TThread, который выполняет полезную работу.
Например, в цикле по ListView1.Items потоконебезопасно лазает :)


Магнум   (2005-06-16 11:26:00) [9]

Параллельно запущен поток TThread, который выполняет полезную работу.


Digitman   (2005-06-16 11:19:00) [10]


> Там есть обработка вин-сообщений


зачем она там нужна ? объясни ...


Магнум   (2005-06-16 11:16:00) [11]

Там есть обработка вин-сообщений. Как же лучше сделать запрет нажатия на ЛистВью?


Digitman   (2005-06-16 10:34:00) [12]


> Почему если я уберу


а зачем тебе вообще нужно запрещать польз.ввод  в контрол ?

если у тебя в "ля-ля-ля, тополя" нет обработки вин-сообщений, то юзер получит доступ к котролу лишь после твоего "ля-ля-ля, тополя"


Anatoly Podgoretsky   (2005-06-16 10:32:00) [13]

Ну таже причина - ошибка в программе.


Магнум   (2005-06-16 10:24:00) [14]

Почему если я уберу

ListView1.Enabled := False;

то ошибки нет?


Anatoly Podgoretsky   (2005-06-16 10:20:00) [15]

Магнум   (16.06.05 10:19) [2]
Не удивляйся у тебя ошибка в программе.


Stanislav   (2005-06-16 10:19:00) [16]

Ты пытаешься обратится к индексу которого не существует и скорее всего там - Anatoly Podgoretsky ©   (16.06.05 10:17) [1]


Магнум   (2005-06-16 10:19:00) [17]

Там идет простое заполнение ЛистВью. Удивляет сама ошибка "Array index out of bounds" (обычно указывается индекс, а здесь нет)


Anatoly Podgoretsky   (2005-06-16 10:17:00) [18]

Конечно может, в ля-ля-ля, тополя ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо