Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
12.04.2010, 16:22
|
|||
---|---|---|---|
Хорошо это или плохо - переменные-ссылки на формы |
|||
#18+
Привет! Если создавать меню, пункты которого будут непосредственно поднимать форму типа Код: plaintext
Вопрос - хорошо это или плохо? С одной стороны при отладке это может указать на то, запускалась сия форма или нет за текущий сеанс, с другой - можно написать свой менеджер форм со всякими полезными прибамбасами, который исключит подобную ситуацию, а про запуск форм скажет куда больше... спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.04.2010, 16:38
|
|||
---|---|---|---|
|
|||
Хорошо это или плохо - переменные-ссылки на формы |
|||
#18+
2 CTAC-KO, непосредственный вызов из меню форм, содержащих классы гридов с собственными классами колонок и хедеров ведет к фатальной ошибке. так что - в путь, комрад. мой ответ: это плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.04.2010, 20:30
|
|||
---|---|---|---|
Хорошо это или плохо - переменные-ссылки на формы |
|||
#18+
Это не хорошо и не плохо. Это есть. Фича такая. Когда дается команда DO FORM, то происходит следующее: 1) Создается объект-форма 2) Создается переменная памяти, в которую записывается ссылка на созданный объект. По умолчанию, имя этой переменной совпадает с именем файла SCX, но может быть изменено в опции NAME Для FoxPro принципиально важным является вопрос об области видимости этой самой созданной переменной. PUBLIC, PRIVATE, LOCAL. Т.е. момент, когда переменная будет автоматически удалена. Если между переменной памяти и объектом-формой настроена взаимно-однозначное соответствие с использованием опции LINKED, то удаление переменной приведет к автоматическому удалению и собственно формы (если это единственная ссылка). По умолчанию, такой связи нет. Т.е. удаление переменной не вызовет удаление объекта-формы. При прямом вызове из меню, вероятно, переменная получает область видимости PUBLIC. Вот и не удаляется по завершении команды DO FORM. Ну, а оценка по принципу хорошо/плохо зависит от того, будет Вам как-то мешать эта болтающаяся глобальная переменная или нет. В самой общей постановке наличие неких неконтролируемых программистом переменных - не есть хорошо. Особенно, если эти переменные глобальные. Особенно, если программистом не выработаны некие стандарты именования файлов приложения и переменных памяти. Не важно какие это правило, важно само наличие этих правил. Ну, чтобы как-нибудь случайно не обратится к этой не учтенной переменной, когда имелось в виду совсем другое. Да, факт наличия/отсутсвия переменной ничем не поможет при отладке. Не известно ведь, когда именно запускалась эта форма. Только что или еще утром? Да и что вообще даст эта информация? Ну, запускалась. И что? Интересен ведь не сам факт запуска, а то, как форма отработала. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1585417]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
97ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 197ms |
0 / 0 |