Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Непонятный глюк  [new]
dj_raven
Member

Откуда:
Сообщений: 539
Есть следующий код:
	FOR z=1 TO THISFORM.combo4.ListCount
		IF VAL(THISFORM.combo4.List[z,2])=cur_val_arr[6]
			THISFORM.combo4.Selected(z)=.T.
			THISFORM.combo4.Value=TRIM(THISFORM.combo4.List[z,1])
			THISFORM.combo4.Refresh
			EXIT 
		ENDIF
	ENDFOR	
Проблемма заключается в том, что строчка
THISFORM.combo4.Selected(z)=.T.
не всегда срабатывает. Т.е. данные в окошке ComboBox отобразились правильные, а вот выбран не тот елемент (Обычно первый из списка). Сравнение идёт по ID (Integer) записей.
14 фев 08, 16:12    [5291753]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
Sergey Sizov.
Guest
А какая задача решается таким способом? Не понятен смысл дейстий. И о каких ID и о каком их сравнении идет речь? Где в коде сравнение?
14 фев 08, 16:44    [5292027]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
dj_raven
Member

Откуда:
Сообщений: 539
Под сравнением имеется ввиду IF VAL(THISFORM.combo4.List[z,2])=cur_val_arr[6].
А задача следующая. ComboBox соединён с таблицей, где хранится список значений. cur_val_arr[6] содержит ID значения. При открытии формы в ComboBox автоматом отображается и выбирается значение, которое хранится в cur_val_arr[6]
14 фев 08, 16:53    [5292083]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
dj_raven
Member

Откуда:
Сообщений: 539
Проблемма в том, что значение отображается (строчка: THISFORM.combo4.Value=TRIM(THISFORM.combo4.List[z,1])), но не становится активным (строчка: THISFORM.combo4.Selected(z)=.T.)

Этот код рабочий, другое дело что глючит сам фОкс. Иногда работает, а иногда строчку THISFORM.combo4.Selected(z)=.T.) интерпретатор просто игнорирует.
14 фев 08, 16:57    [5292108]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
Sergey Sizov.
Guest
dj_raven

Этот код рабочий, другое дело что глючит сам фОкс. Иногда работает, а иногда строчку THISFORM.combo4.Selected(z)=.T.) интерпретатор просто игнорирует.

И есть этому доказательства? Тогда их обязательно надо предоставить.
Рабочим код называется только если он всегда правильно выдает правильные результаты. В противном случае назвать его рабочим нельзя. И еще: в 99 процентах случаев глючит отнюдь не фокс. Отладчиком это место проходили? Значениея .combo4.List[z,2]) и cur_val_arr[6] отдельно смотрели?
14 фев 08, 17:31    [5292394]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
MiklS
Member

Откуда: Владивосток
Сообщений: 131
автор
А задача следующая. ComboBox соединён с таблицей, где хранится список значений. cur_val_arr[6] содержит ID значения. При открытии формы в ComboBox автоматом отображается и выбирается значение, которое хранится в cur_val_arr[6]

FOR z=1 TO THISFORM.combo4.ListCount
	IF VAL(THISFORM.combo4.List[z,2])=cur_val_arr[6]
		THISFORM.combo4.DisplayValue=TRIM(THISFORM.combo4.List[z,1])
		EXIT 
	ENDIF
ENDFOR
15 фев 08, 12:43    [5294252]     Ответить | Цитировать Сообщить модератору
 Re: Непонятный глюк  [new]
dj_raven
Member

Откуда:
Сообщений: 539
Problemma bila v sortirovke, v drugom Evente :)
19 фев 08, 17:17    [5311620]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить