Страница: 1 | 
		
		 
			   
			 
			 
			 
			 У меня всё нормально. Или давай код или попробуй обновить VBRUN'ы http://activex.microsoft.com/controls/vb6/vbrun60.cab   Вот такой код ( поиск по спискам - списки это листбоксы. В трёх списках поиск работает, в нулевом - нет. Причем только в ехе) Private Sub UserControl12_Click()' поиск по листбоксу Нашёл в чём дело:  в событии List1_Click сидит массив, его индекс синхронизирован с индексом списка, и не должен быть меньше нуля. frm1.List1(ActiveIndex).ListIndex = -1 вызывает событие click и массив заклинивает по индексу Arr(-1).  Поставил в List1_Click:  If List1(0).ListIndex<0 then Exit Sub. Работает. Непонятно, почему в IDE ошибка не выявляется, при этом все работает как должно (или как не должно)... Ну ладно. Спасибо за участие Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: ListIndex = -1
     
    
Добавлено: 17.02.04 02:34
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 cresta
      
       
  
Просьба: помогите разобраться, в чём дело.Есть 4 листбокса. Есть строка в коде: 
    
frm1.List1(ActiveIndex).ListIndex = -1 ' снять выделение в листбоксе.
В IDE строка работает нормально, в откомпилированном виде при ActiveIndex=1,2 или 3 тоже работает нормально. Выделение со списка снимает. А при ActiveIndex=0 программа на этой строке
вылетает. Все свойства этих четырех листбоксов одинаковы.Пробовал frm1.List1(CInt(ActiveIndex)).ListIndex = -1 - ничего не дает. Почему List1(0) себя так ведет - не пойму.
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 4
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  17.02.04 02:43
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 cresta
![]()
![]()
Вопросов: 117
Ответов: 1538
      
 Профиль |  | #2
       
Добавлено:  17.02.04 03:07
       
    
       
  
 
    
    Dim strs As String, i As Long
    If Trim$(Текст1.Text) = "" Or Форма1.List1(ActiveIndex).ListCount < 1 Then Exit Sub
    Форма1.List1(CInt(ActiveIndex)).ListIndex = -1'-здесь ехе вылетает
    For i = 0 To Форма1.List1(ActiveIndex).ListCount - 1
        strs = Форма1.List1(ActiveIndex).List(i)
        If InStr(UCase(strs), UCase(Trim$(Текст1.Text))) Then
            Форма1.List1(ActiveIndex).ListIndex = i
            flgFind = True: start = i
            Exit For
        End If
    Next i
End Sub
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  17.02.04 03:13
       
    
       
  
Кинь проект на мыло - я гляну.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 cresta
![]()
![]()
Вопросов: 117
Ответов: 1538
      
 Профиль |  | #4
       
Добавлено:  17.02.04 03:53
       
    
       
  
 
    