|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
На понимание нюансов тратится много времени и усилий. А если они описаны в одном месте, то при мистическом поведении программы, можно довольно быстро мистику развеять. Поделитесь нюансами в одном месте - здесь. &&........................................................... 1. Метод UnLoad() модальной формы возвращает значение в to-переменную. do form Forma with pa1, pa2 to ValRet Такой вызов немодальной формы выдаёт ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 23:34 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
ВладимииирНа понимание нюансов тратится много времени и усилий. А если они описаны в одном месте, то при мистическом поведении программы, можно довольно быстро мистику развеять. Поделитесь нюансами в одном месте - здесь. &&........................................................... 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). ". Дальше обьяснять ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 03:21 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Вряд ли этот тред кому-то поможет. Даже заглянув сюда трудно запомнить все нюансы. Прочел и забыл. А при возникновении реальной проблемы сомневаюсь что кто-то запустит поиск со словом "нюанс", а потом будет перечитывать многие страницы этой веточки. Скорее при поиске будет упомянут более конкретный атрибут возникшего затруднения. Значительно более полезным будет структурированный FAQ. На Foxclub'е такой есть Для мистикой стало формирование многостраничного отчета-когда код верен, с данными полный порядок-а поди ж ты на просмотр и печать выводится какой-то сумбур, даже количество страниц на одном и том же отчете каждый раз разное. Оказалось, что нельзя держать при формировании отчета фокус на гриде-такой вот недокументированный и ни разу не логичный нюанс. Решение можно найти здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 04:17 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
reware, спасибо. В том-то и нюанс заключается, что вроде бы знаешь о чём-то, да не всё или не совсем так, как на самом деле. А для кого-нибудь другого, твой нюанс не нюанс, а вполне очевидная вещь. 2. Если в форме свойство DeskTop=.T. , то вызванное из неё командой wait window «Привет» сообщение под ней и не видно. 3. Если в форме свойство DeskTop=.T. , а в запущенной из неё форме DeskTop=.F., то запущенная форма под ней и не видна. А если запущенная форма ещё и немодальная, то она не активируется и не получает управления . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 09:59 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Dag, спасибо за ссылки. Если при поиске будет упомянут конкретный атрибут возникшего затруднения, то в результате, возможно, мы выйдем на эту веточку, которая кому-то сможет помочь. 4. Если таблица открыта с псевдонимом M , то квалифицированное обращение к её полю невоз-можно. В операции yy = m.xx переменной yy будет присвоено значение переменной xx , а не значение поля xx таблицы с псевдонимом M . Чтобы переменной yy было присвоено значение поля xx таблицы с псевдонимом M надо: Select M && сделать текущей таблицу с псевдонимом M yy = xx && в правой части операции имя поля написать без квалификатора. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 10:12 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Владимииир4. Если таблица открыта с псевдонимом M , то квалифицированное обращение к её полю невоз-можно. В операции yy = m.xx переменной yy будет присвоено значение переменной xx , а не значение поля xx таблицы с псевдонимом M . Чтобы переменной yy было присвоено значение поля xx таблицы с псевдонимом M надо: Select M && сделать текущей таблицу с псевдонимом M yy = xx && в правой части операции имя поля написать без квалификатора. Использование однобуквенных псевдонимов давным-давно, еще со времен ДОС, не говоря уже про VFP, большой моветон. Достаточно использовать осмысленные псевдонимы и "нюанс" как бы становится совершенно эфемерным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 10:17 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
проходящий., согласен, так и делаю, но ради эксперимента решил проверить, а что будет если ... 5. Щелчёк левой клавишей мыши по кнопке « x » – закрытия формы приводит к выполнению методов формы QweryUnLoad() , Destroy() и UnLoad(), минуя Release() . 6. Выполнение метода Release() формы приводит к выполнению методов Destroy() и UnLoad(), минуя QweryUnLoad() . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 10:28 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Владимииир 5. Щелчёк левой клавишей мыши по кнопке « x » – закрытия формы приводит к выполнению методов формы QweryUnLoad() , Destroy() и UnLoad(), минуя Release() . Надо читать - приводит к выполнению СОБЫТИЙ QweryUnLoad() , Destroy() и UnLoad(), те причинноследственная связь правильная, метод Release явно не вызывается. Владимииир 6. Выполнение метода Release() формы приводит к выполнению методов Destroy() и UnLoad(), минуя QweryUnLoad() . Опять читаем правильно . Выполнение метода Release() формы приводит к выполнению СОБЫТИЙ [b]Destroy() и UnLoad(), минуя СОБЫТИЕ QweryUnLoad И читаем ФАК Как перехватить нажатие на крестик в правом верхнем углу формы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 19:46 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Сборник нюансов 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), почему будут ценить ваш (данный сборник нюансов)? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2009, 20:57 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
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 . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2009, 14:15 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
ВладимирМ, спасибо, что откликнулись. У меня нюансов меньше, чем Help. Вот последние два на сегодняшний день. 10. Метод (событие) Init() объекта принимает параметры . 11. nShiftAltCtrl => 1 – 4 – 2 Вы спрашиваете, кто кроме меня их будет читать. Отвечаю на прямо поставленный вопрос: - Вы. Уже прочитали. Что уже позволяет мне считать мой труд не напрасным. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2009, 14:25 |
|
Нюансы VisualFoxPro
|
|||
---|---|---|---|
#18+
Владимииир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 драйвер, а не фокс. Опять мимо кассы. Сударь, пока что Вы демонстрируете отнюдь не нюансы фокса, а просто плохое знание инструмента. Которое именно по незнанию кажется чем-то нелогичным. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2009, 19:46 |
|
|
start [/forum/topic.php?fid=41&fpage=132&tid=1586671]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 140ms |
0 / 0 |