:: Архив конференции по VFP до 2005 года
Re: Опять о переходе с VFP5.0 на VFP8.0
Владимир Максимов

Сообщений: 14097
Откуда: Москва
Дата регистрации: 02.09.2000
А нажать кнопочку HELP при возникновении сообщения об ошибке и посмотреть ссылку на настройку SET ENGINEBEHAVIOR Command?

В данном случае все правильно. Это относится не к синтаксическим, а к логическим ошибкам. Т.е. ошибкам, связанным с логикой выполнения программы. Компилятор ведь не в курсе, какая именно настройка будет к моменту выполнения этой команды.
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
1. Вообще то в данном конкретном случае GROUP BY не нужен, т.к. в селекте не используются агрегированные функции.
2. В версиях >7 поля не участвующие в агрегированных функциях должны быть перечислены в секции GROUP BY
или ставь SET ENGINEBEHAVIOR 70




------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
bucks

Сообщений: 31
Откуда: г. Барнаул
Дата регистрации: 09.03.2005
Владимир Максимов
А нажать кнопочку HELP при возникновении сообщения об ошибке и посмотреть ссылку на настройку SET ENGINEBEHAVIOR Command?
В данном случае все правильно. Это относится не к синтаксическим, а к логическим ошибкам. Т.е. ошибкам, связанным с логикой выполнения программы. Компилятор ведь не в курсе, какая именно настройка будет к моменту выполнения этой команды.



Re: Опять о переходе с VFP5.0 на VFP8.0
AleksM
1. Вообще то в данном конкретном случае GROUP BY не нужен, т.к. в селекте не используются агрегированные функции.
2. В версиях >7 поля не участвующие в агрегированных функциях должны быть перечислены в секции GROUP BY
или ставь SET ENGINEBEHAVIOR 70

Все я это знаю. Вопрос звучал не о том как от ошибки избавиться, а как сделать так, чтобы их можно было отследить на этапе компиляции. А не когда exe сформирован и потом пользователь кричит у меня ошибка, и мне приходится ее править. И снова всем переносить exe.




------------------
Best regards
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
Владимир Максимов

Сообщений: 14097
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Все я это знаю. Вопрос звучал не о том как от ошибки избавиться, а как сделать так, чтобы их можно было отследить на этапе компиляции. А не когда exe сформирован и потом пользователь кричит у меня ошибка, и мне приходится ее править. И снова всем переносить exe.
Ты хочешь сказать, что не запускаешь свой запрос (Select-SQL) в режиме отладки? Т.е. написал и сразу компилить EXE? Ну, как минимум, это очень самонадеяно. Далеко не факт, что даже синтаксически правильный запрос возвращает именно то, что нужно. А вдруг, какое условие забыл?
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
vadim
Владимир Максимов
Ты хочешь сказать, что не запускаешь свой запрос (Select-SQL) в режиме отладки? Т.е. написал и сразу компилить EXE? Ну, как минимум, это очень самонадеяно. Далеко не факт, что даже синтаксически правильный запрос возвращает именно то, что нужно. А вдруг, какое условие забыл?

Тема то перенос из VFP5.0 d VFP8.0. Так что проект рабочий просто его надо перенести из 5 в 8. И при построении (компиляции) нового EXE в 8 версии, стоится без ошибок, а потом при работе начинается. Вот я и говорю как их поймать на этапе компиляции. Потому что все проверять это просто п....ц
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
vadim
Так что получается никак не вычислить эти ошибки?
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
Владимир Максимов

Сообщений: 14097
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Так что получается никак не вычислить эти ошибки?
Нет. Потому что, это "идеологические" ошибки.

В данном случае сам запрос некорректен. Он выдает корректный результат только в частном случае одинаковых значений в полях не указанных в списке группировки. Настройка SET ENGINEBEHAVIOR и призвана ужесточить синтаксис и убрать эту неоднозначность запроса.

С другой стороны я не понимаю, а зачем тебе VFP8, если ты просто перекомпилил старый код ничего в нем не меняя! Переход на новые версии обычно делается с целью улучшения. Ну, как минимум, добавления новой функциональности. А это при любом раскладе - отладка. Но никак не простая перекомпиляция.

Кстати, в VFP8 (как и в других версиях FoxPro) есть раздел HELP с названием "What`s new in Visual FoxPro" (это самое начало "дерева" HELP) и в этом разделе специально указано на что надо обратить внимание при переходе со старой версии. Раздел "Behavior Changes Since Visual FoxPro 7.0"
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, vadim!

Эту ошибку - никак. Потому что после SET ENGINEBEHAVIOUR 70 она перестаёт
быть ошибкой
А вообще в VFP8 есть замечательная тулза - Code References - просто поищи
(например используя регулярные выражения) где имеются SELECT ... GROUP BY
(ну или где они "строятся" динамически для выполнения по макро).




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
Бураков Сергей
Автор

Сообщений: 280
Откуда: Calgary
Дата регистрации: 07.02.2005
Обнаружил еще одно отличие в работе VFP8.
Если в методе Click формы выполнить ThisForm.Release(), запускается QueryUnload(), а в VFP5 и VFP6 форма закрывается сразу.
Ratings: 0 negative/0 positive
Re: Опять о переходе с VFP5.0 на VFP8.0
Бураков Сергей
Автор

Сообщений: 280
Откуда: Calgary
Дата регистрации: 07.02.2005
Еще один глюк в VFP8 и VFP6
Создаю Top-Level форму clogin c текстбоксом pass из библиотеки.
Потом:
cLogin.Show()
cLogin.pass.SetFocus()
READ EVENTS
В пятерке форма оказывается на переднем плане, а в VFP6 и VFP8 - позади главного окна VFP.
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 10 (Гостей: 10)

© 2000-2024 Fox Club 
Яндекс.Метрика