powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удаление переменных RELEASE ?
6 сообщений из 6, страница 1 из 1
удаление переменных RELEASE ?
    #32538064
ЕленаШ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, пожалуйста, непонятливому новичку - обязательно ли переменные следует удалять командой RELEASE при завершении программы
...
Рейтинг: 0 / 0
удаление переменных RELEASE ?
    #32538096
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от логики программы и области видимости переменных. В большинстве случаев, специально давать команду RELEASE нет необходимости.

Для уяснения, когда следует удалять переменные, а когда это не обязательно почитай описание к командам

LOCAL
PUBLIC
PRIVATE

Имей в виду, что если обалсть видимости переменной или массива не указана ЯВНО одной из перечисленных выше команд, то такая переменная или массив получают область видимости PRIVATE.

На этапе разработки, переменные или массивы созданные в командном окне получают область видимости PUBLIC.
...
Рейтинг: 0 / 0
удаление переменных RELEASE ?
    #32538321
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иногда, исходя из логики программы, приходится выполнять release массивов, т.к. размерность массивов при переопределении не усекается до новых значений, если они меньше.

Еще был случай, когда release нужно было делать обязательно, но это исключение. У меня при бездействии пользователя (непрерывно в течении установленного времени приходит только пустое системное событие фокса) через некоторое время программа завершает работу. Если при этом открыто какое-то модальное окно (таких немного, но есть), то команда quit выдает что-то типа "Не могу завершить FoxPro". И все, только снимать задачу. Никакие clear all перед quit не помогают. Зато если явно выполнить release модального объекта, то все Ok :)
...
Рейтинг: 0 / 0
удаление переменных RELEASE ?
    #32538434
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
размерность массивов при переопределении не усекается до новых значений, если они меньше.

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

команда quit выдает что-то типа "Не могу завершить FoxPro".

Для перехвата закрытия системы существует настройка

ON SHUTDOWN do MyProc

Т.е. при подаче команды QUIT, нажатии на крестик в правом верхнем углу основного окна FoxPro или по закрытии программы в Task Manager (Ctrl+Alt+Del) сработает поцедура MyProc. В которой как раз и нужно предусмотреть штатное закрытие всего открытого.

Никакие clear all перед quit не помогают. Зато если явно выполнить release модального объекта, то все Ok :)

Разумеется, не помогают, поскольку невозможно закрыть объект, пока выполняется какой-либо метод этого объекта. А вызов модальной формы как раз и приводит к "подвешиванию" метода, поскольку его выполнение приостанавливается на команде DO FORM.
...
Рейтинг: 0 / 0
удаление переменных RELEASE ?
    #32538530
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На счет SET COMPATIBLE - да, наверное. Сейчас OFF, но привычка...

А вот по поводу SHUTDOWN - именно quit процедуры, вызываемой по on shutdown и не работал. Другой процедуры выхода у меня нет. Может дело в том, что выход инициируется в данном случае из C-шной функции? Впрочем, сильно не разбирался, раз дело в модальных объектах, для их создания использую одну глобальную переменную, которую перед выходом явно удаляю, существует она в данный момент или нет. Работает, и ладно...
...
Рейтинг: 0 / 0
удаление переменных RELEASE ?
    #32538654
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА вот по поводу SHUTDOWN - именно quit процедуры, вызываемой по on shutdown и не работал
ON SHUTDOWN DO MyQuit()
У меня тоже не работало пока я не сделал файл MyQuit. Все отлично работает!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удаление переменных RELEASE ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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