Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
Владимир Максимов Сообщений: 14097 Откуда: Москва Дата регистрации: 02.09.2000 |
А нажать кнопочку HELP при возникновении сообщения об ошибке и посмотреть ссылку на настройку SET ENGINEBEHAVIOR Command?
В данном случае все правильно. Это относится не к синтаксическим, а к логическим ошибкам. Т.е. ошибкам, связанным с логикой выполнения программы. Компилятор ведь не в курсе, какая именно настройка будет к моменту выполнения этой команды. |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
1. Вообще то в данном конкретном случае GROUP BY не нужен, т.к. в селекте не используются агрегированные функции.
2. В версиях >7 поля не участвующие в агрегированных функциях должны быть перечислены в секции GROUP BY или ставь SET ENGINEBEHAVIOR 70 ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
bucks Сообщений: 31 Откуда: г. Барнаул Дата регистрации: 09.03.2005 |
Все я это знаю. Вопрос звучал не о том как от ошибки избавиться, а как сделать так, чтобы их можно было отследить на этапе компиляции. А не когда exe сформирован и потом пользователь кричит у меня ошибка, и мне приходится ее править. И снова всем переносить exe. ------------------ Best regards |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
Владимир Максимов Сообщений: 14097 Откуда: Москва Дата регистрации: 02.09.2000 |
Цитата:Ты хочешь сказать, что не запускаешь свой запрос (Select-SQL) в режиме отладки? Т.е. написал и сразу компилить EXE? Ну, как минимум, это очень самонадеяно. Далеко не факт, что даже синтаксически правильный запрос возвращает именно то, что нужно. А вдруг, какое условие забыл? |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
vadim |
Тема то перенос из VFP5.0 d VFP8.0. Так что проект рабочий просто его надо перенести из 5 в 8. И при построении (компиляции) нового EXE в 8 версии, стоится без ошибок, а потом при работе начинается. Вот я и говорю как их поймать на этапе компиляции. Потому что все проверять это просто п....ц |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
vadim |
Так что получается никак не вычислить эти ошибки?
|
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" |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, vadim!
Эту ошибку - никак. Потому что после SET ENGINEBEHAVIOUR 70 она перестаёт быть ошибкой А вообще в VFP8 есть замечательная тулза - Code References - просто поищи (например используя регулярные выражения) где имеются SELECT ... GROUP BY (ну или где они "строятся" динамически для выполнения по макро). ------------------ WBR, Igor |
Re: Опять о переходе с VFP5.0 на VFP8.0 | |
---|---|
Бураков Сергей Автор Сообщений: 280 Откуда: Calgary Дата регистрации: 07.02.2005 |
Обнаружил еще одно отличие в работе VFP8.
Если в методе Click формы выполнить ThisForm.Release(), запускается QueryUnload(), а в VFP5 и VFP6 форма закрывается сразу. |
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. |
© 2000-2024 Fox Club  |