Глюк листбокса?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Глюк листбокса?

Сообщение alibek » 14.12.2006 (Чт) 8:54

У кого есть время свободное, не могли бы вы проверить один баг?

На форме есть ListBox, заполняется строками. Стиль обычный, не чекбоксы (Style=0), мультиселект включен (MultiSelect=2). На форме есть также три кнопки, "Выделить все", "Снять выделение" и "Инвертировать выделение", в которых в цикле пробегаются записи и делается .Selected(I)=True, .Selected(I)=False, .Selected(I)=Not .Selected(I).
Для того, чтобы это не тормозило, листбокс на время делается невидимым. Примерно так:
Код: Выделить всё
List1.Visible = False
P = List1.ListIndex
For I = 0 To List1.ListCount - 1
  List1.Selected(I) = Not List1.Selected(I)
Next I
List1.ListIndex = P
List1.Visible = True

Что получается?
Запускаю форму, нажимаю кнопку "Инвертировать выделение", кликаю на любой строке листбокса, VB падает. Падает в 4 случаях из 5, в одном случае начинаются неожиданные глюки в самых неожиданных местах -- остановка по Stack overflow внутри события Validate текстового поля (хотя рекурсии там нигде нет) или где-нибудь еще.
Это дома. На работе повторить не удалось. Но и там, и там студия устанавливалась с одного диска, на обоих компьютерах установлен SP6 для студии, на обоих компьютерах одна и та же ОС (W2k) с примерно одними и теми же патчами и обновлениями.
Lasciate ogni speranza, voi ch'entrate.

August
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 25.08.2006 (Пт) 10:48
Откуда: C сибири

Сообщение August » 14.12.2006 (Чт) 10:01

Проделал тоже самое, в листбоксе было 365 записей, не упал. (VB.Net 2005, XP, все немецкое)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.12.2006 (Чт) 11:24

August, ты интересный какой-то... То ты пытаешься повторить на vb 2005 заполнение буфера картинкой VB6 при старте, то ты пытаешься повторить на vb 2005 другой момент, специфичный для VB6... Ты правда разницы не видишь?..

Нет, не повторяется.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 14.12.2006 (Чт) 11:51

alibek, мне при непонятных падениях VB6 помогла переустановка SP6b. Возможно, и тебе поможет...
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

August
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 25.08.2006 (Пт) 10:48
Откуда: C сибири

Сообщение August » 14.12.2006 (Чт) 12:50

GSerg писал(а):August, ты интересный какой-то... То ты пытаешься повторить на vb 2005 заполнение буфера картинкой VB6 при старте, то ты пытаешься повторить на vb 2005 другой момент, специфичный для VB6... Ты правда разницы не видишь?..


Ну может на vb 2005 тоже глюкнет :wink:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 14.12.2006 (Чт) 15:28

Не повторяеться

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 14.12.2006 (Чт) 17:49

Аналогично, не повторяется
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.12.2006 (Чт) 18:16

alibek, а скомпилированное приложение падает, или только IDE?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.12.2006 (Пт) 10:26

Нет, скомпилированный не проверял.
Ладно, спишу на локальный баг :)
Пока поставил LockWindowUpdate, хотя и не хотел.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 97

    TopList