powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нюансы VisualFoxPro
12 сообщений из 12, страница 1 из 1
Нюансы VisualFoxPro
    #35868857
На понимание нюансов тратится много времени и усилий.
А если они описаны в одном месте, то при мистическом поведении программы, можно довольно быстро мистику развеять.
Поделитесь нюансами в одном месте - здесь.

&&...........................................................

1. Метод UnLoad() модальной формы возвращает значение в to-переменную.
do form Forma with pa1, pa2 to ValRet
Такой вызов немодальной формы выдаёт ошибку.
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35868953
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимииирНа понимание нюансов тратится много времени и усилий.
А если они описаны в одном месте, то при мистическом поведении программы, можно довольно быстро мистику развеять.
Поделитесь нюансами в одном месте - здесь.

&&...........................................................

1. Метод UnLoad() модальной формы возвращает значение в to-переменную.
do form Forma with pa1, pa2 to ValRet
Такой вызов немодальной формы выдаёт ошибку.
Мистика в том, что вы, вроде зная о методах формы, не заметили в хелпе указания для чайников -
"If you use TO, the WindowType property of the form must be set to 1 (Modal). ". Дальше обьяснять ?
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35868963
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вряд ли этот тред кому-то поможет. Даже заглянув сюда трудно запомнить все нюансы. Прочел и забыл. А при возникновении реальной проблемы сомневаюсь что кто-то запустит поиск со словом "нюанс", а потом будет перечитывать многие страницы этой веточки. Скорее при поиске будет упомянут более конкретный атрибут возникшего затруднения. Значительно более полезным будет структурированный FAQ. На Foxclub'е такой есть

Для мистикой стало формирование многостраничного отчета-когда код верен, с данными полный порядок-а поди ж ты на просмотр и печать выводится какой-то сумбур, даже количество страниц на одном и том же отчете каждый раз разное. Оказалось, что нельзя держать при формировании отчета фокус на гриде-такой вот недокументированный и ни разу не логичный нюанс. Решение можно найти здесь
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869007
reware, спасибо.

В том-то и нюанс заключается, что вроде бы знаешь о чём-то, да не всё или не совсем так, как на самом деле. А для кого-нибудь другого, твой нюанс не нюанс, а вполне очевидная вещь.

2. Если в форме свойство DeskTop=.T. , то вызванное из неё командой wait window «Привет» сообщение под ней и не видно.
3. Если в форме свойство DeskTop=.T. , а в запущенной из неё форме DeskTop=.F., то запущенная форма под ней и не видна. А если запущенная форма ещё и немодальная, то она не активируется и не получает управления .
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869019
Dag, спасибо за ссылки.

Если при поиске будет упомянут конкретный атрибут возникшего затруднения, то в результате, возможно, мы выйдем на эту веточку, которая кому-то сможет помочь.

4. Если таблица открыта с псевдонимом M , то квалифицированное обращение к её полю невоз-можно. В операции yy = m.xx переменной yy будет присвоено значение переменной xx , а не значение поля xx таблицы с псевдонимом M . Чтобы переменной yy было присвоено значение поля xx таблицы с псевдонимом M надо:

Select M && сделать текущей таблицу с псевдонимом M
yy = xx && в правой части операции имя поля написать без квалификатора.
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869025
Владимииир4. Если таблица открыта с псевдонимом M , то квалифицированное обращение к её полю невоз-можно. В операции yy = m.xx переменной yy будет присвоено значение переменной xx , а не значение поля xx таблицы с псевдонимом M . Чтобы переменной yy было присвоено значение поля xx таблицы с псевдонимом M надо:

Select M && сделать текущей таблицу с псевдонимом M
yy = xx && в правой части операции имя поля написать без квалификатора.
Использование однобуквенных псевдонимов давным-давно, еще со времен ДОС, не говоря уже про VFP, большой моветон. Достаточно использовать осмысленные псевдонимы и "нюанс" как бы становится совершенно эфемерным.
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869040
проходящий., согласен, так и делаю, но ради эксперимента решил проверить, а что будет если ...

5. Щелчёк левой клавишей мыши по кнопке « x » – закрытия формы приводит к выполнению методов формы QweryUnLoad() , Destroy() и UnLoad(), минуя Release() .
6. Выполнение метода Release() формы приводит к выполнению методов Destroy() и UnLoad(), минуя QweryUnLoad() .
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869451
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимииир

5. Щелчёк левой клавишей мыши по кнопке « x » – закрытия формы приводит к выполнению методов формы QweryUnLoad() , Destroy() и UnLoad(), минуя Release() .


Надо читать - приводит к выполнению СОБЫТИЙ QweryUnLoad() , Destroy() и UnLoad(), те причинноследственная связь правильная, метод Release явно не вызывается.



Владимииир

6. Выполнение метода Release() формы приводит к выполнению методов Destroy() и UnLoad(), минуя QweryUnLoad() .

Опять читаем правильно .

Выполнение метода Release() формы приводит к выполнению СОБЫТИЙ [b]Destroy() и UnLoad(), минуя СОБЫТИЕ QweryUnLoad

И читаем ФАК Как перехватить нажатие на крестик в правом верхнем углу формы
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869494
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сборник нюансов FoxPro называется HELP. Вы его читать не пробовали? Я без шуток. Практически все, что вы здесь описываете - это прямые цитаты из соответствующих статей HELP. Только, вы как-то выборочно читаете.

Например, если в HELP прямо написано, что свойство используется для модальных форм, то, очевидно, что для не модальных форм его использовать может привести к ошибкам. Какой уж тут "нюанс".

QueryUnload() - так прямо в HELP и написано, что "The QueryUnload event does not occur if you issue the RELEASE command on the form in code or invoke the form's Release method."

Для справки: в HELP более 4 тысяч статей. Во многих из них описаны некоторые нюансы.

Тем не менее, лично вы ЭТОТ сборник нюансов благополучно игнорируете. Какие основания у вас есть считать что, во-первых, ваш сборник нюансов будет меньше по размеру, а, во-вторых, что его кто-то вообще кроме вас будет читать? Вы не цените чужой труд (в данном случае, составителей HELP FoxPro), почему будут ценить ваш (данный сборник нюансов)?
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869888
PaulWist, спасибо за ссылку!

Пожалуй FoxClub посмотрю подробно.

Хочу поговорить о событиях и методах, но позже.


7. SQLExec(MConnectDescr,’… ”…” …’) не любит двойных кавычек « » внутри себя.
8. SQLExec(MConnectDescr,“SELECT FROM ?Var …”) не любит знак вопроса « ? » после предложения FROM в запросе. А так любит: SQLExec(MConnectDescr,“SELECT FROM ” + Var + “…”).
9. В функции SQLExec() выражение ?aa + bb равносильно ?(aa + bb) , и не идентично ?aa + ?bb .
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35869899
ВладимирМ, спасибо, что откликнулись.

У меня нюансов меньше, чем Help.

Вот последние два на сегодняшний день.

10. Метод (событие) Init() объекта принимает параметры .
11. nShiftAltCtrl => 1 – 4 – 2

Вы спрашиваете, кто кроме меня их будет читать.
Отвечаю на прямо поставленный вопрос:
- Вы. Уже прочитали.
Что уже позволяет мне считать мой труд не напрасным.
...
Рейтинг: 0 / 0
Нюансы VisualFoxPro
    #35870089
Владимииир7. SQLExec(MConnectDescr,’… ”…” …’) не любит двойных кавычек « » внутри себя.В общем-то, содержимое второго параметра функции SQLEXEC относится к серверу и никак не обрабатывается фоксом. Для фокса это просто строка. На каком основании это отнесено к фоксу? Это первое. А вторым является настраиваемая "любовь" сервера к двойным кавычкам, по крайней мере для MS SQL Server.
8. SQLExec(MConnectDescr,“SELECT FROM ?Var …”) не любит знак вопроса « ? » после предложения FROM в запросе. А так любит: SQLExec(MConnectDescr,“SELECT FROM ” + Var + “…”).Опять попытка на фокс свалить даже то, что к нему ну никак относится не может. Это сервер не терпит имя таблицы в виде параметра.
9. В функции SQLExec() выражение ?aa + bb равносильно ?(aa + bb) , и не идентично ?aa + ?bb .Преобразование параметров, указанных в виде знаков вопроса производит ODBC драйвер, а не фокс. Опять мимо кассы.

Сударь, пока что Вы демонстрируете отнюдь не нюансы фокса, а просто плохое знание инструмента. Которое именно по незнанию кажется чем-то нелогичным.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нюансы VisualFoxPro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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