Либо. Как можно залезть в exe’шник и в fox’овском тексте поменять одну строку.
С уважением, Александр
Re: ReFox->FoxPro6->SELECT->Alias not found
Владимир Максимов
Сообщений: 13912 Откуда: Москва
Дата: 17.08.09 16:07:50
Поэтому сообщение «alias not found» вовсе не означает, что не найден файл. Это всего-лишь означает, что не найдена рабочая область с открытой таблицей, которой присвоен alias с указанным именем.
Как правило, подобное происходит, если в рабочей области, где ранее была открыта таблица, открывают другую таблицу. С другим alias-ом. Естесственно, что старая таблица при этом закрывается. И ее alias теряется.
Обычно это присходит при адресации к рабочим областям по номерам без анализа факта «занятости» указанной рабочей области другой таблицей. Т.е. код вида
Потенциально опасен тем, что может закрыть ранее открытую таблицу в 1 рабочей области. Более корректным является синтаксис вида
Рабочая область с номером 0 интерпретируется как «первая свободная» рабочая область.
Но, естесственно, весь код должен быть построена на переходе к нужным рабочим областям не по номерам, а по алиасам.
Re: ReFox->FoxPro6->SELECT->Alias not found
axiv Автор
Сообщений: 3
Дата: 17.08.09 16:15:35
Re: ReFox->FoxPro6->SELECT->Alias not found
axiv Автор
Сообщений: 3
Дата: 17.08.09 16:20:19
Re: ReFox->FoxPro6->SELECT->Alias not found
Владимир Максимов
Сообщений: 13912 Откуда: Москва
Дата: 17.08.09 16:28:05
Нормально. Так и должно быть. Эта команда переключается в указанную рабочую область. Ну, это примерно «переводится» так: а теперь будем работать в рабочей области
Боролся с чем? Открыть таблицу надо только один раз. Далее просто переключаться в рабочую область, где эта таблица открыта. Вы что, вместо переключения открывали таблицу снова?
А каким боком к этому коду относится USE?
Если вы вообще программировали хоть в каком-нибудь языке программирования, то принцип работы с файлами везде одинаковый.
1) Файл открывается и открытому файлу присваивается некий идентификатор 2) Выполняется работа с файлом, причем обращение к нему идет по этому идентификатору 3) По окончании работы с файлом он закрывается.
Alias not found что значит
» title=»>» width=»8″ height=»8″/> [FoxPro] ошибка alias is not found
[ Время генерации скрипта: 0.1132 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Alias not found что значит
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
I use vfp9 sp2 and win xp.
When I leave a form called Houses and go into another form where the load procedure has the code:
** close all open forms FOR x = 1 TO _screen.FormCount _screen.Forms[_screen.Formcount].Release() NEXT x
I get error 13 above.
The Houses form uses a view called VIEW_HOUSE2, but so what?
Why do I get the error? How do I fix it?
The line of code that creates the error is reported to be:
UPDATE gis_data!students SET houseid=view_house2.houseid WHERE houseid=OLDVAL(‘houseid’,’view_house2′) AND > But, I can not find that code anywhere!
Answers
I guess the simplest way to solve the problem for now is to add
use in select(‘view_house2’)
in the Houses form destroy method.
Are you using Data Environment in that form?
Also, I still think that the code you’re listed came from the database. Can you get GoFish and search for that offending code?
All replies
Do you have some code in Release method of the closed form(s)?
It seems the view is closed earlier than the control which still uses it is released.
I tried to edit the original post, but unsuccessfully, so here goes:
The line of code that creates the error is reported to be:
UPDATE gis_data!students SET houseid=view_house2.houseid WHERE houseid=OLDVAL(‘houseid’,’view_house2′) AND > But, I can not find that code anywhere!
Why do you need to call this method in the Load method of your form?
Also, the code above may come from a trigger. If you use DBC, can you check if you have triggers implemented?
I call the method as I want only the current form open.
I am afraid I don;t know what DBC and triggers mean.
Are you using a database or free tables?
A bit more robust close all forms method:
I tried to edit the original post, but unsuccessfully, so here goes:
The line of code that creates the error is reported to be:
UPDATE gis_data!students SET houseid=view_house2.houseid WHERE houseid=OLDVAL(‘houseid’,’view_house2′) AND > But, I can not find that code anywhere!
VFP is attempting to update the table on which is the view created. You should find the code in database:
and the database code should appear.
I am using a database.
Thank you for the alternative code. I will try it.
When I try the three instructions a window comes up with title «Stores Procedures for Gis_data».
The window is empty. So, no stored triggers.
I would guess you are using some framework or VCX classes at least. The update command could be generated based on the view structure. In such case it is not so easy to find the right place. So please check your VCX classes.
You should also look at the code which is executed by the form itself when it is closed and call exactly same methods from your «close all forms» code.
In houses.destroy (that was empty) I put:
IF USED(‘view_house2’) MESSAGEBOX(‘used’) ELSE MESSAGEBOX(‘not used’) ENDIF
When I ran the program and went to houses and then went to for B it said: «not used»
Then in form B’s load method I put:
IF USED(‘view_house2’) MESSAGEBOX(‘used’) ELSE MESSAGEBOX(‘not used’) ENDIF
** close all open forms FOR x = 1 TO _screen.FormCount _screen.Forms[_screen.Formcount].Release() NEXT x
When I ran it, first going to houses and then to B it said «not used», «used» and then it crashed on the release instruction complaining that alias view_house2 could not be found.
As far as I know I am not using any framework or VCX classes. To be honest, I don´t know what either means.
In form B´s load I added ‘set step on’:
** close all open forms FOR x = 1 TO _screen.FormCount SET STEP on _screen.Forms[_screen.Formcount].Release() NEXT x
I then called up form Houses followed by form B. This happened when I stepped through the code with F8:
_screen.FormCount = 2 all the time, but it drops to 1 just after houses.unload finishes and the error is reported.
Цитата alpap: возможную необходимость кавычек » вообще говоря имена машин без пробелов, если вы об этом. Меня тильда удивила.
Iska, код тот же на данный момент:
без пустых строк, пробелов, иных знаков.
ps, а простой перенос строки в пределах одной команды в батнике возможен вообще? Разве тогда выполнение не ограничивается первой строкой? Как я понимаю, только с добавлением символа каретки, иначе всё, что с новой строки идёт, должно восприниматься как новая команда. Хоть в логе перед выбросом ошибки всю группу цитировало, но не может в этом ошибка крыться?
Команда alias – это очень удобный инструмент для тех, кто часто работает в командной строке. При правильных установках она поможет вам быстрее вводить команды, а также исправлять опечатки. alias – это встроенная команда оболочки, поэтому инсталлировать ее не требуется. В данной статье мы подробно расскажем об использовании команды alias в операционной системе Linux и покажем на примерах.
2. Что представляет собой команда alias в Linux?
alias используется для создания альтернативных версий обычных команд, присваивая им новые названия, а также чтобы избежать необходимости запоминать длинные и сложные команды. Кроме того, вы можете задать опции по умолчанию, которые используются каждый раз при запуске команды alias.
3. Как создавать алиасы в Linux
Сколько раз вам случалось набирать sl вместо ls, получая в результате сообщение об ошибке:
Давайте на базе приведенного выше примера покажем, как создавать алиасы в Linux, чтобы избежать появления этого сообщения об ошибке. Чтобы создать алиас, используется команда alias со следующим синтаксисом:
Мы можем создать новый алиас «sl», который будет являться альтернативной командой для ls.
Из приведенного выше примера вы можете видеть, что мы создали новый алиас «sl», при выполнении которого запускается команда ls. Это простой пример создания алиаса. Вы также можете включать в алиас опции или несколько команд, используя одинарные кавычки. Для примера давайте создадим алиас, который будет показывать наш внешний IP-адрес:
Запустите вышеприведенную команду одной строкой, чтобы создать новый алиас myip, который будет показывать ваш внешний IP:
Необходимо отметить, что с помощью команды alias вы создаете алиас только для текущей сессии командной оболочки. Это значит, что как только вы разлогинитесь, или откроете новый терминал, созданные вами алиасы уже не будут работать. В следующем разделе мы узнаем, как создавать постоянные алиасы.
4. Создание постоянных алиасов
Вы можете сделать все свои алиасы постоянными. Для этого вы можете определить алиасы путем включения их в свой локальный файл
/.bashrc. Здесь мы предполагаем, что в качестве командной оболочки вы используете bash.
/.bashrc (скрытый файл в вашей домашней директории). Вместо команды echo вы можете использовать любой текстовый редактор. Важно отметить, что если вы решите использовать команду echo, как и в приведенном выше примере, убедитесь сначала, что вы сделали резервную копию файла
/.bashrc, и что вы используете оператор >> вместо >. С помощью оператора «.» мы перегрузили файл
5. Просмотр списка алиасов
6. Удаление алиасов
Если алиас вам больше не нужен, вы можете удалить его из системы, используя команду unalias. В качестве аргумента вставьте имя алиаса, который вы хотите удалить.
Если вы определили свой алиас в файле
./bashrc, вам также необходимо удалить определение алиаса, иначе он снова будет определен после старта нового сеанса командной оболочки или перезагрузки компьютера.
7. Заключение
Алиасы – удобный инструмент, позволяющий повысить эффективность работы в командной строке Linux. Он прост в настройке и использовании. Большинство систем Linux уже имеют набор предопределенных алиасов. Вы можете проверить их, изменить или добавить нужный вам. Хорошим кандидатом для алиаса будет длинная и скучная команда, которую, тем не менее, вы используете регулярно.
1. Введение
Команда alias – это очень удобный инструмент для тех, кто часто работает в командной строке. При правильных установках она поможет вам быстрее вводить команды, а также исправлять опечатки. alias – это встроенная команда оболочки, поэтому инсталлировать ее не требуется. В данной статье мы подробно расскажем об использовании команды alias в операционной системе Linux и покажем на примерах.
2. Что представляет собой команда alias в Linux?
alias используется для создания альтернативных версий обычных команд, присваивая им новые названия, а также чтобы избежать необходимости запоминать длинные и сложные команды. Кроме того, вы можете задать опции по умолчанию, которые используются каждый раз при запуске команды alias.
3. Как создавать алиасы в Linux
Сколько раз вам случалось набирать sl вместо ls, получая в результате сообщение об ошибке:
Давайте на базе приведенного выше примера покажем, как создавать алиасы в Linux, чтобы избежать появления этого сообщения об ошибке. Чтобы создать алиас, используется команда alias со следующим синтаксисом:
Мы можем создать новый алиас «sl», который будет являться альтернативной командой для ls.
Из приведенного выше примера вы можете видеть, что мы создали новый алиас «sl», при выполнении которого запускается команда ls. Это простой пример создания алиаса. Вы также можете включать в алиас опции или несколько команд, используя одинарные кавычки. Для примера давайте создадим алиас, который будет показывать наш внешний IP-адрес:
Запустите вышеприведенную команду одной строкой, чтобы создать новый алиас myip, который будет показывать ваш внешний IP:
Необходимо отметить, что с помощью команды alias вы создаете алиас только для текущей сессии командной оболочки. Это значит, что как только вы разлогинитесь, или откроете новый терминал, созданные вами алиасы уже не будут работать. В следующем разделе мы узнаем, как создавать постоянные алиасы.
4. Создание постоянных алиасов
Вы можете сделать все свои алиасы постоянными. Для этого вы можете определить алиасы путем включения их в свой локальный файл
/.bashrc. Здесь мы предполагаем, что в качестве командной оболочки вы используете bash.
/.bashrc (скрытый файл в вашей домашней директории). Вместо команды echo вы можете использовать любой текстовый редактор. Важно отметить, что если вы решите использовать команду echo, как и в приведенном выше примере, убедитесь сначала, что вы сделали резервную копию файла
/.bashrc, и что вы используете оператор >> вместо >. С помощью оператора «.» мы перегрузили файл
5. Просмотр списка алиасов
6. Удаление алиасов
Если алиас вам больше не нужен, вы можете удалить его из системы, используя команду unalias. В качестве аргумента вставьте имя алиаса, который вы хотите удалить.
Если вы определили свой алиас в файле
./bashrc, вам также необходимо удалить определение алиаса, иначе он снова будет определен после старта нового сеанса командной оболочки или перезагрузки компьютера.
7. Заключение
Алиасы – удобный инструмент, позволяющий повысить эффективность работы в командной строке Linux. Он прост в настройке и использовании. Большинство систем Linux уже имеют набор предопределенных алиасов. Вы можете проверить их, изменить или добавить нужный вам. Хорошим кандидатом для алиаса будет длинная и скучная команда, которую, тем не менее, вы используете регулярно.
Ссылки по теме
Помощь
Задать вопрос
программы
обучение
экзамены
компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
Популярные статьи
Информационная безопасность Microsoft Офисное ПО Антивирусное ПО и защита от спама Eset Software
Бестселлеры
Курсы обучения «Atlassian JIRA – система управления проектами и задачами на предприятии»
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год. Электронный ключ
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс «Oracle. Программирование на SQL и PL/SQL»
Курс «Основы TOGAF® 9»
Microsoft Windows Professional 10 Sngl OLP 1 License No Level Legalization GetGenuine wCOA (FQC-09481)
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Windows Server 2016 Standard
Курс «Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации»
Антивирус ESET NOD32 Antivirus Business Edition
Corel CorelDRAW Home & Student Suite X8
О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.
На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.
Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.
[Рецензенты: обратите внимание, что вопрос был полностью переписан после закрытых голосов.]
Недавно я узнал, как я могу определить псевдонимы для bash в
Но, так как я это пробовал, я вижу, что сообщения о событиях, которые я наблюдаю, открывают терминал.
Я добавил несколько псевдонимов bash к моему, я пытался создавать ярлыки с использованием псевдонима, но я неудачно и каким-то образом смог получить сообщение ниже каждый раз, когда открываю новый терминал.
Сложно; он не говорит об ошибке, а потому, что мои псевдонимы не работают, Я думаю, что я сделал с ними что-то не так – я не знаю, что!
2 ответа
Сообщения об ошибках выглядят интересными. Линии
И глядя на синтаксис команды alias (см. ниже help alias ), это неверно: = необходимо использовать без пробелов, например:
Давайте проведем эксперимент. Можем ли мы реплицировать ваше сообщение об ошибке следующим образом?