powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Use или DataEnvironment
12 сообщений из 12, страница 1 из 1
Use или DataEnvironment
    #34704177
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как лучше и правильнее делать, открывать таблицы в Init формы через команду
Код: plaintext
Use table1 in   0  
и закрывать их при закрытии формы, или просто добавить их в DataEnvironment и поставить автоматическое открытие и закрытие.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704222
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от конкретной задачи.

Для очень большого круга задач вполне достаточно включить таблицу в DataEnvironment.

Если же по каким-либо причинам необходимо вручную контролировать открытие и закрытие таблиц, то это надо делать в событиях формы LOAD и UNLOAD по той причине, что в INIT-формы открывать таблицы уже "поздно", поскольку инициализация объектов формы выполняется до метода INIT-формы. Это значит, что при открытии таблицы в INIT-формы придется вручную повторить процесс привязки объектов формы к таблицам для некоторых объектов.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704236
Away_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если Вы их добавите в Data Envinroment их все равно придется открывать и закрывать.
Лично я делаю так (при отладке):
1. Создаю программный файл.
2. В нем открываю базу данных.
3. Затем открываю все таблицы в свободной рабочей области
Use myTable in 0
4. А в формах обращаюсь к нужной таблице через Select

Select myTable

А когда компилирую файл, то в главную процедуру приложения переношу туда весь код открытия базы данных и таблиц (см. выше).
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704289
Peisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мамы всякие нужны, мамы всякие важны ....

Как правильнее - вряд ли кто скажет ... Можно говорить о том, как привычнее, как оптимальнее при решении конкретной задачи и т.п.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704295
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Away_NДаже если Вы их добавите в Data Envinroment их все равно придется открывать и закрывать.
Почему? При настройках AutoOpen = .T. и AutoClose = .T. (это значения по умолчанию) все произойдет автоматически.

Away_NЛично я делаю так (при отладке):
1. Создаю программный файл.
2. В нем открываю базу данных.
3. Затем открываю все таблицы в свободной рабочей области
Use myTable in 0
4. А в формах обращаюсь к нужной таблице через Select

Select myTable

А когда компилирую файл, то в главную процедуру приложения переношу туда весь код открытия базы данных и таблиц (см. выше).
Даже для работы в FPD такой подход кажется избыточным. Зачем же открывать ВСЕ таблицы? А как быть с Private DataSession?
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704383
Away_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
Почему? При настройках AutoOpen = .T. и AutoClose = .T. (это значения по умолчанию) все произойдет автоматически.

Я fox я изучаю всего год (и скажу честно, что мне многому еще нужно поучиться при работе с этой СУБД ). Но сколько я не создавала формы, даже если эти настройки стоят (AutoOpen, AutoClose), Fox все равно требовал открыть соответствующую таблицу. Поэтому я выбрала метод, хоть и громоздкий, но верный: буду знать, что в последствии не вылетит ошибка:

Canot access the selected table или что-нибудь в этом роде.

Может есть более простой способ, но пока я к этому еще не пришла. Как говорится: "делать буду пока так, как сказала мама".
С уважением Away_N.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704420
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Away_N ВладимирМ
Почему? При настройках AutoOpen = .T. и AutoClose = .T. (это значения по умолчанию) все произойдет автоматически.

Я fox я изучаю всего год (и скажу честно, что мне многому еще нужно поучиться при работе с этой СУБД ). Но сколько я не создавала формы, даже если эти настройки стоят (AutoOpen, AutoClose), Fox все равно требовал открыть соответствующую таблицу. Поэтому я выбрала метод, хоть и громоздкий, но верный: буду знать, что в последствии не вылетит ошибка:

Canot access the selected table или что-нибудь в этом роде.

Может есть более простой способ, но пока я к этому еще не пришла. Как говорится: "делать буду пока так, как сказала мама".
Чтобы сказать в чем проблема, надо знать ТОЧНОЕ сообщение об ошибке. Т.е. дословно. На что Fox ругался? Более того, в какой момент это сообщение возникает? На этапе разработки приложения или же при запуске готового EXE?

При работе с DataEnvironment надо очень тщательно следить за текущей директорией и настройкой SET PATH, поскольку они являются определяющими при автоматическом поиске файлов.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704466
Away_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, ВладимирМ, по ходу дискута у меня возник к Вам вопрос именно по команде Set Path.
Следующая запись команд использует текущую дирректорию, и в каталогах bmp;class;data;dhelp;forms;prg;report ищет соответствующие типы файлов?

авторDEFAULT=.\
path=bmp;class;data;dhelp;forms;prg;report

Я правильно понимаю?
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704497
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таком синтаксисе, директории, перечисленные в PATH - это относительные пути. Относительно текущей директории.

Но это именно пути . Какие именно типы файлов там лежат для FoxPro не имеет никакого значения. FoxPro будет искать файл во всех перечисленных путях. Вне зависимости от его типа.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704506
Away_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМВ таком синтаксисе, директории, перечисленные в PATH - это относительные пути. Относительно текущей директории.

Но это именно пути . Какие именно типы файлов там лежат для FoxPro не имеет никакого значения. FoxPro будет искать файл во всех перечисленных путях. Вне зависимости от его типа.

То есть,программа при переносе на другую машину будет привязываться именно к тому каталогу, куда ее поместили?
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704743
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Away_N ВладимирМВ таком синтаксисе, директории, перечисленные в PATH - это относительные пути. Относительно текущей директории.

Но это именно пути . Какие именно типы файлов там лежат для FoxPro не имеет никакого значения. FoxPro будет искать файл во всех перечисленных путях. Вне зависимости от его типа.

То есть,программа при переносе на другую машину будет привязываться именно к тому каталогу, куда ее поместили?
Да.

Если каким-либо способом не будет изменена текущая директория. Но, по умолчанию, привязка будет именно к тому каталогу, куда поместили программу.
...
Рейтинг: 0 / 0
Use или DataEnvironment
    #34704770
Away_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, ВладимирМ!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Use или DataEnvironment
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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