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