|
|
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Проект написан на VFP7. В главной форме есть грид, столбцы которого - это ComboBox. Для этих ComboBox-ов есть событие InteractiveChange. И вот тут проявляется странность. Эта программа работает на нескольких машинах. На некоторых все в порядке, на некоторых изредко при выборе каког-либо значения из поля со списком не происходит событие InteractiveChange, а на одном оно происходит крайне редко. На всех этих машинах стоит RunTime. Если запускать на машине с полной версией фокса, то все работает нормально. Может кто-то встречался с чем-то подобным и что-то может посоветовать как быть. Заранее спасибо за любые советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 18:12:03 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Проверь установки на всех машинах. Панель управления - язык и стандарты - числа и время. Один раз у меня было 2 * 2 = 5 из-за этих установок. В метод входит всегда но не проходит по if (я так думаю). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 19:13:59 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
И покажи код InteractiveChange. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 19:16:40 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Код на событие 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 19:34:31 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Я бы написал Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 20:50:00 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
блин не ту кнопку нажал. вообщем вместо array ставишь курсор. и смотришь кол-во записей. из доки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Может _tally показывает данные по таблице -=select (this.cListName)=- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 20:56:08 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за советы. Попробую в понедельник может действительно в этом проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 21:45:36 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Да еще не пользуйся select ... into array ... У фокса есть кривоватость , если нет записей он не трогает массив. Если есть 1 пустая запись то трудно отличить это объявленный массив или это значение которое вернул select . ---------------------------------------------------------- Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 22:41:42 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Hi Елена! Для проверки напиши в InteractiveChange нечто типа Wait window "InteractiveChange" timeout 5 и посмотри появляется ли окошко - т.к. твой код помимо всего прочего может зависеть от кучи настроек - SET ANSI, SET COLLATE, SET DELETED - и ещё большой вопрос - не вызывается ли собственно обработчик, или он вызывается но делает не то что задумано. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2005, 02:34:41 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Hi ГенГрум! _TALLY работает и с выборкой в масив - так что в этом отношении без разницы... Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 02:23:28 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
To Igor Korolyov select ... into array ... работает с _TALLY я ничего не говорю. Я сказал что работать с -=select ... into array ... =- ни есть гуд. Для этого надо 1. Надо создать массив. 2.Проверить изменился ли массив. 3.работа с массивом -=select ... into cursor ... =- 1.Работать с курсором Есть разница для программы и для чтения кода? _________________________ Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:03:53 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Разве ж это разница ;-) Не надо быть апологетом одной из схем. Нужно умело выбирать нужную, ориентируясь по ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:18:29 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
2 ГенГрум Странные, однако, у тебя представления о select into array... 1. Массив объявлять совершенно необязательно. 2. Количество результатов в выборке определяется так же, как и у курсора (_tally) Ну и где разница для чтения и понимания кода? Главное работу что с курсором, что с массивом не доводить до абсурда, а пользоваться ими в сооветствии с их возможностями и назначениями. Т.е. "их надо уметь готовить" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:21:45 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
блин ну вы накинулись Человек как правило пользуется одной проверенной схемой. into array есть скользкий момент о чем я и предупреждаю человека. _________________________ Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:33:10 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
А вот то, что человек, как правило, пользуется только одной проверенной схемой и есть "как то не очень". Ибо только знание и умение пользоваться разными схемами позволяет иногда очень хорошо понять степень своей же собственной тупизны при использовании только "одной проверенной схемы" там, где этой схемы и близко быть не должно. Повторюсь: не надо доводить использование понравившейся схемы до абсурда. А для этого надо знать и другие схемы. И не пытаться их сранжировать наперед для всех случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:45:24 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Ну хорошо Sergey Sizov докажи в каком случае я не могу обойтись без into array. Хотя бы теоретически. ИМХО эта схема нафиг не нужна. _________________________ Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:53:48 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
+1 довод в пользу курсора корсор.имя_поля - читабельно MyArray[5] - через полгода тебе не о чем не скажет. + перестановка очередности полей в таблице[ввод нового поля на первой позиции] и твоя программа не работает. _________________________ Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 16:26:12 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Попробовала все что тут рекомендовалось: и региональные настройки и установки SET. Ничего это не изменило. Проект где работал там и работает, а где не работал, там и не работает. Может еще у кого будут какие-то мысли и советы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:12:24 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Ты поставила Wait window "1...3" ? Wait window "2" под if. И что показывает ? _________________________ Делай своё дело и будь что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:29:46 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
2 ГенГрум: 1. Не надо путать понятия "не могу обойтись" и "удобнее", все-таки они достаточно сильно отличаются. И их применение очень сильно зависит от конкретной ситуации. 2. Примеров, даже теоритических, когда ТЕБЕ не обойтись без массива, у меня, разумеется нет. Примеры, в которых МНЕ удобнее пользоваться массивом, у меня, опять же разумеется :), есть. И, наконец, никому ничего я доказывать не собираюсь. У каждого своя голова на плечах и каждый сам решает с какой степенью юношеского максимализма долбиться головой в ту или иную стену. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 09:15:39 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
To Sergey Sizov. Готов выслушать с открытыми ушами когда лучше использовать массив. И если доводы будут коректными - применять на практике. А тебе выставить виртуальное пиво. В жизни мы вряд ли встретимся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 13:07:46 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Я люблю использовать выборку в массивы при формировании набора строк для комбобоксов. Делаю массив свойством комбобокса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 13:10:49 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
2ГенГрум массивы удобно использовать для обработки данных с изменяющейся структурой, да мало ли чего на свете нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 15:29:50 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Протестировала проект. Результата: Периодически не происходит событие Interactive Change. Запуск подряд 5 раз на одной и той же машине : 2 раза произошел 3 - нет. В поршлый раз я забыла упомянуть ( может это важно) сам комбобокс - это мой класс и это событие прописано в классе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 16:25:39 |
|
||
|
Проблемы с проектом
|
|||
|---|---|---|---|
|
#18+
Принципиально важно, чтобы отрабатывал именно InteractiveChange? Если не имеет значение, как именно изменено значение (программно или интерактивно), то можно попробовать перенести весь код в событие ComboBox.Valid() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 16:42:51 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33131541&tid=1593898]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 413ms |

| 0 / 0 |
