powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с процедурой
26 сообщений из 26, показаны все 2 страниц
Проблема с процедурой
    #36151468
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Такая проблема: в коде в самом начале необходимо использовать CLOSE ALL для вызова одной команды. Но далее в коде вызывается процедура, и в этом месте фокс начинает ругаться, что не знает такой процедуры. Я так понимаю, что CLOSE ALL "закрывает" все процедуры.
Подскажите пожалуйста как же мне их "открыть".
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151482
АлексейО
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yana_87необходимо использовать CLOSE ALL для вызова одной команды.
а для какой команды это вам нужно?
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151544
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейО,

я делаю переименование папки

o=CreateObject("Scripting.FileSystemObject")
o.MoveFolder(lcdb,lcrar)
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151646
АлексейО
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yana_87,
close all закроет слишком много. разберитесь какие именно файлы открыты вашей программой в переименнуемой папке и закройте только их.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151652
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейО,

уже все пробовала, и CLOSE DATABASE ALL, CLOSE TABLES ALL, работает только с CLOSE ALL.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151665
yana_87,
так что закрыть-то надо? Каким боком закрытие баз данных и таблиц относится к перименованию каталога?
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151684
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

получается когда заходишь в программу, вызываешь какие-то другие режимы, а затем в этот мой режим, то именно в месте, где я переименовываю ошибка, я попробовала CLOSE ALL. Теперь переименование работает, и вот вызов процедуры нет.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151736
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам уже писали
АлексейО close all закроет слишком много. разберитесь какие именно файлы открыты вашей программой в переименнуемой папке и закройте только их.
возможно у вас открыты какие-то файлы "низким уровнем" , или перенаправление принтера сделано в файл в этой папке.
CLOSE ALL - это извините уж очень крайняя мера ."Из пушки по воробьям" ну или "серпом по ...."
на её последствия вы уже натолкнулись, где гарантия что кроме библиотек вы не закрыли еще что-то нужное.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151800
yana_87проходящий.,

получается когда заходишь в программу, вызываешь какие-то другие режимы, а затем в этот мой режим, то именно в месте, где я переименовываю ошибка, я попробовала CLOSE ALL. Теперь переименование работает, и вот вызов процедуры нет.О какой проблеме речь в заголовке? О какой проблеме с этой процедурой? Какие режимы? Какая ошибка? Почему Вы решили использовать Close All? Вы можете по-человечески объяснить что Вы делаете, что получается и что Вы хотите получить?
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36151965
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант кода, с помощью которого можно закрыть
открытые таблички не используя close all
Код: plaintext
1.
2.
for lnAlias= 1  to  100 
   use in select(lnAlias)
endfor
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36152232
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошелмимо,

Спасибо, попробую!
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36152738
прошелмимо,

можно попросить вас прокоментировать код ? я только начинаю разбираться
непонятно - use in select(...) заранее спасибо.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36152871
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвас прокоментировать код

гы, код тупой
перебрать все области и закрыть все открытые таблицы и курсоры

более предпочтиелен вариант
(пишу на коленке и не пробую)
Код: plaintext
1.
2.
3.
4.
local lnAlias, laUsed[ 1 ]
for lnAlias= 1  to aused(laUsed)  &&& можно сюда и параметр нужно сессии прибавить
    use in select(laUsed[lnAlias])
endfor

используем только для того, чтобы закрыть все используемые таблички и курсоры
(такая надобность иногда бывает)

Код: plaintext
 use in select(...) 
этот код дает возможность безошибочно закрыть
табличку или курсор не проверяя наличие факта открытости
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36152945
прошелмимо,

спасибо:) вроде понятно, но все же где найти описание сочетания use in ... так и не смог яндыкс отказывается помогать
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36153005
Вопрос_по_Бухпрошелмимо,

спасибо:) вроде понятно, но все же где найти описание сочетания use in ... так и не смог яндыкс отказывается помогатьВ хелпе, батенька, в хелпе.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36154126
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36160970
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помогает закрыть все таблицы и курсоры.
Может все-таки можно как-то "открыть" конкретную процедуру?
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36160974
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка такая получается:

OLE error code 0x800a0046: Unknown COM status code
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161044
yana_87Не помогает закрыть все таблицы и курсоры.
Может все-таки можно как-то "открыть" конкретную процедуру?Процедуры не открываются и не закрываются. Вы, наконец-то, опИшете саму ситуацию, а не Ваше понимание этой ситуации? Что делаете, что происходит, что Вы ожидаете и, главное, почему ожидаете имено это?
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161058
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

ладно. Код примерно такой

IF !DIRECTORY(lcrar) AND DIRECTORY(lcdb)
fso = createobject("scripting.filesystemobject")
fso.movefolder(lcdb, lcrar)
ENDIF

Если я вхожу в программу и сразу иду выполнять этот кусок, то все ок. А если я перед этим зашла в другие формы, а уже потом в эту, то получаю ошибку. Попробовала сделать CLOSE ALL в самом начале, кусок с директориями отработал, но пишет ошибку не может найти errhand1.prg здесь:

ON ERROR DO errhand1

Вот такая ситуация. Пробовала и CLOSE DATABASE, CLOSE TABLES ALL, ничего не помогает!
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161089
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yana_87
Если я вхожу в программу и сразу иду выполнять этот кусок, то все ок. А если я перед этим зашла в другие формы, а уже потом в эту, то получаю ошибку. Попробовала сделать CLOSE ALL в самом начале, кусок с директориями отработал, но пишет ошибку не может найти errhand1.prg здесь:

Ну и что-тут непроходимого ?
1) Устанавливаем параметры приложения (т.е. разнообразные SETы).
2) Сохраняем где-то (в переменных, массивах и пр.) эти установки.
3) Делаем в нужный момент столь вами любимый CLOSE ALL (садизм).
4) Запускаем эту злосчастную процедуру.
5) Восстанавливаем ранее сохраненные установки и работаем себе спокойно дальше.

Хотя все это садо-мазохизм и надо разобраться, что именно закрывается по CLOSE ALL, чего не должно закрываться.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161116
yana_87,
как же трудно с Вами общаться... Это ведь у нас проблемы и нам нужна помощь, да? А мы тут заставляем Вас делать нам одолжения?

IF !DIRECTORY(lcrar) AND DIRECTORY(lcdb)
fso = createobject("scripting.filesystemobject")
fso.movefolder(lcdb, lcrar)
ENDIF

Если я вхожу в программу и сразу иду выполнять этот кусок, то все ок. А если я перед этим зашла в другие формы, а уже потом в эту, то получаю ошибку. Попробовала сделать CLOSE ALL в самом начале, кусок с директориями отработал, но пишет ошибку не может найти errhand1.prg здесь:

ON ERROR DO errhand1 Отсюда можно сделать вывод, что в первом случае срабатывает Ваш обработчик ошибок, лежащий в errhand1.prg, и про который фокс знает при нормальной работе программы. Во втором случае в какой-то форме настройка на этот обработчик сбивается и ошибка при работе с fso не обрабатыватся. Своими Close в разных вариантах Вы еще больше все разрушаете.

Провертьте удачность моих предположений.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161124
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yana_87Попробовала сделать CLOSE ALL в самом начале, кусок с директориями отработал, но пишет ошибку не может найти errhand1.prg здесь:
ON ERROR DO errhand1


Перечитал еще раз внимательно ваш последний пост - при CLOSE ALL заодно ведь закрываются и все процедурные файлы, ранее назначенные командами SET PROCEDURE TO. Вы уж попробуйте не CLOSE ALL, a CLOSE PROCEDURE, а после выполненного куска кода восстановите те SET PROCEDURE TO, которые были установлены.
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161132
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware,

знаю. Пробовала так:

SET PROCEDURE TO errhand1
ON ERROR DO errhand1

та же самая ошибка((
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161171
yana_87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла в чем была ошибка!

Форма, которую я перед этим открывала была formset, и некоторые формы не закрывались. Сделала в своем коде проверку и все заработало!

Спасибо всем, кто ответил!
...
Рейтинг: 0 / 0
Проблема с процедурой
    #36161509
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yana_87Нашла в чем была ошибка!

Форма, которую я перед этим открывала была formset, и некоторые формы не закрывались. Сделала в своем коде проверку и все заработало!

Спасибо всем, кто ответил!
Да кушайте на здоровье :) Просто так и случается, когда человек говорит только про 10% реальной ситуации
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с процедурой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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