powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с проектом
25 сообщений из 57, страница 1 из 3
Проблемы с проектом
    #33122575
Проект написан на VFP7. В главной форме есть грид, столбцы которого - это ComboBox. Для этих ComboBox-ов есть событие InteractiveChange. И вот тут проявляется странность. Эта программа работает на нескольких машинах. На некоторых все в порядке, на некоторых изредко при выборе каког-либо значения из поля со списком не происходит событие InteractiveChange, а на одном оно происходит крайне редко. На всех этих машинах стоит RunTime.
Если запускать на машине с полной версией фокса, то все работает нормально. Может кто-то встречался с чем-то подобным и что-то может посоветовать как быть. Заранее спасибо за любые советы.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122687
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь установки на всех машинах. Панель управления - язык и стандарты - числа и время. Один раз у меня было 2 * 2 = 5 из-за этих установок. В метод входит всегда но не проходит по if (я так думаю).
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122694
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И покажи код InteractiveChange.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122726
Код на событие InteractiveChange:
local array laTmp(1)

select pdoc_id;
from cSelected ;
where dtyp_id=this.dTyp_id and br_id=this.Br_id ;
into array laTmp

local pdoc_id
select (this.cListName)
scatter fields pdoc_id memvar

if _tally=0
insert into cSelected (br_id, dtyp_id, pdoc_id) ;
values(this.Br_id, this.dTyp_id, m.pdoc_id)
else
update cSelected set pdoc_id=m.pdoc_id where dtyp_id=this.dTyp_id and br_id=this.Br_id
endif
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122788
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы написал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
		select pdoc_id;
		from cSelected ;
		where dtyp_id=this.dTyp_id and br_id=this.Br_id ;
		into [SIZE= 1 ]cursor [/SIZE]laTmp
		
		local pdoc_id
		select (this.cListName)
		scatter fields pdoc_id memvar
			
		if [SIZE= 1 ]recc()= 0 [/SIZE]
			insert into cSelected (br_id, dtyp_id, pdoc_id) ;
			values(this.Br_id, this.dTyp_id, m.pdoc_id)
		else
			update cSelected set pdoc_id=m.pdoc_id where  dtyp_id=this.dTyp_id and br_id=this.Br_id
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122790
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин не ту кнопку нажал.
вообщем вместо array ставишь курсор.
и смотришь кол-во записей.

из доки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Содержит число записей, обработанных самой последней выполнявшейся табличной командой.

Синтаксис

_TALLY = nRecords

Параметры

nRecords

Содержит числовое значение, которое выводит количество записей, обработанных самой последней выполнявшейся табличной командой.

Комментарии

Некоторые команды обработки таблицы возвращают информацию о своем состоянии ("talk") в процессе выполнения. Когда подобная команда завершается, она отображает количество обработанных записей (если действует SET TALK ON) и сохраняет это значение в системной переменной памяти _TALLY.
Информацию состояния возвращают следующие команды:
Видишь -=самой последней =- а у тебя после SQl - select стоит простой select.
Может _tally показывает данные по таблице -=select (this.cListName)=-
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122826
Большое спасибо за советы. Попробую в понедельник может действительно в этом проблема.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122867
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да еще не пользуйся select ... into array ...
У фокса есть кривоватость , если нет записей он не трогает массив. Если есть 1 пустая запись то трудно отличить это объявленный массив или это значение которое вернул select .

----------------------------------------------------------
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33122975
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Елена!

Для проверки напиши в InteractiveChange нечто типа Wait window "InteractiveChange" timeout 5 и посмотри появляется ли окошко - т.к. твой код помимо всего прочего может зависеть от кучи настроек - SET ANSI, SET COLLATE, SET DELETED - и ещё большой вопрос - не вызывается ли собственно обработчик, или он вызывается но делает не то что задумано.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33123830
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ГенГрум!

_TALLY работает и с выборкой в масив - так что в этом отношении без разницы...

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33126895
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Igor Korolyov
select ... into array ... работает с _TALLY я ничего не говорю.
Я сказал что работать с -=select ... into array ... =- ни есть гуд.

Для этого надо
1. Надо создать массив.
2.Проверить изменился ли массив.
3.работа с массивом

-=select ... into cursor ... =-
1.Работать с курсором

Есть разница для программы и для чтения кода?


_________________________
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33126937
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве ж это разница ;-)
Не надо быть апологетом одной из схем. Нужно умело выбирать нужную, ориентируясь по ситуации.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33126952
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ГенГрум

Странные, однако, у тебя представления о select into array...

1. Массив объявлять совершенно необязательно.
2. Количество результатов в выборке определяется так же, как и у курсора (_tally)
Ну и где разница для чтения и понимания кода?


Главное работу что с курсором, что с массивом не доводить до абсурда, а пользоваться ими в сооветствии с их возможностями и назначениями. Т.е. "их надо уметь готовить" :)
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33126988
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин ну вы накинулись

Человек как правило пользуется одной проверенной схемой. into array есть скользкий момент о чем я и предупреждаю человека.


_________________________
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33127041
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот то, что человек, как правило, пользуется только одной проверенной схемой и есть "как то не очень". Ибо только знание и умение пользоваться разными схемами позволяет иногда очень хорошо понять степень своей же собственной тупизны при использовании только "одной проверенной схемы" там, где этой схемы и близко быть не должно. Повторюсь: не надо доводить использование понравившейся схемы до абсурда. А для этого надо знать и другие схемы. И не пытаться их сранжировать наперед для всех случаев.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33127073
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну хорошо Sergey Sizov докажи в каком случае я не могу обойтись без into array. Хотя бы теоретически. ИМХО эта схема нафиг не нужна.


_________________________
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33127185
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+1 довод в пользу курсора

корсор.имя_поля - читабельно

MyArray[5] - через полгода тебе не о чем не скажет. + перестановка
очередности полей в таблице[ввод нового поля на первой позиции] и твоя программа не работает.

_________________________
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33129944
Попробовала все что тут рекомендовалось: и региональные настройки и установки SET. Ничего это не изменило. Проект где работал там и работает, а где не работал, там и не работает. Может еще у кого будут какие-то мысли и советы?
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33129957
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты поставила Wait window "1...3" ?
Wait window "2" под if.

И что показывает ?


_________________________
Делай своё дело и будь что будет.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33130304
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ГенГрум:

1. Не надо путать понятия "не могу обойтись" и "удобнее", все-таки они достаточно сильно отличаются. И их применение очень сильно зависит от конкретной ситуации.
2. Примеров, даже теоритических, когда ТЕБЕ не обойтись без массива, у меня, разумеется нет. Примеры, в которых МНЕ удобнее пользоваться массивом, у меня, опять же разумеется :), есть.

И, наконец, никому ничего я доказывать не собираюсь. У каждого своя голова на плечах и каждый сам решает с какой степенью юношеского максимализма долбиться головой в ту или иную стену.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33131080
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Sergey Sizov.

Готов выслушать с открытыми ушами когда лучше использовать массив. И если доводы будут коректными - применять на практике. А тебе выставить виртуальное пиво. В жизни мы вряд ли встретимся.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33131086
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я люблю использовать выборку в массивы при формировании набора строк для комбобоксов. Делаю массив свойством комбобокса.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33131541
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ГенГрум
массивы удобно использовать для обработки данных с изменяющейся структурой, да мало ли чего на свете нет :)
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33131731
Протестировала проект. Результата: Периодически не происходит событие Interactive Change. Запуск подряд 5 раз на одной и той же машине : 2 раза произошел 3 - нет.
В поршлый раз я забыла упомянуть ( может это важно) сам комбобокс - это мой класс и это событие прописано в классе.
...
Рейтинг: 0 / 0
Проблемы с проектом
    #33131792
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Принципиально важно, чтобы отрабатывал именно InteractiveChange?

Если не имеет значение, как именно изменено значение (программно или интерактивно), то можно попробовать перенести весь код в событие ComboBox.Valid()
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с проектом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]