Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Feature not available / 11 сообщений из 11, страница 1 из 1
29.06.2006, 15:50
    #33822024
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Сто лет не брал в руки шашечек

FoxPro 2.6.
Код: plaintext
1.
2.
3.
4.
5.
m.log_file="log"
if !file(m.log_file+"\nul")
  m.com="!mkdir "+m.log_file
  &com
endif
В IDE - все фунциклирует. Когда же рожаю exe'шник (Build Executeable -> Stand-alone Extended) получаю на
Код: plaintext
1.
  &com
*.exe
Feature not available

Это так д.б. или я что-то запямятовал?

W2K+SP3 (NTFS) (под админовскими правами)
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
29.06.2006, 16:14
    #33822107
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Не понятно "\nul" ...
...
Рейтинг: 0 / 0
29.06.2006, 17:22
    #33822411
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Sergey Ch
Не понятно "\nul" ...

Ууууу... Как все запущено ;)


Вспоминаем старую-добрую MS-DOS'ю
1.bat
Код: plaintext
1.
2.
3.
c:
cd \
if not exist TEST_DIR\nul md TEST_DIR
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
29.06.2006, 18:19
    #33822553
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Не понятно "\nul" ...
...
Рейтинг: 0 / 0
29.06.2006, 23:24
    #33822990
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Redrik
Не понятно "\nul" ...

no comment...
Код: plaintext
1.
2.
3.
4.
5.
6.
m.dir="progra~1"
if file(m.dir+"\nul")
  wait "Yes"
else
  wait "No"
endif
Так понятнее?
Да и при чем тут этот nul-файл/устройство?
Ex_Soft
получаю на
Код: plaintext
1.
  &com

_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
30.06.2006, 00:32
    #33823032
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Не уверен. Но для начала, я бы все-таки отделил восклицательный знак от команды mkdir пробелом.

Опять же, не уверен, но насколько я помню, FPD имел 3 варианта запуска: Standart, Expanded и Lan. Попробуй запускать свой EXE с ключем -X. Это как раз расширеннный режим.

MyProg.exe -X

Хотя, вроде бы выполнение команды RUN от режима не зависит.

И еще, имя директории "log" - это для примера? Не содержит ли реальная директория пробелов в своем имени? Например, что-то вроде "My log" В этом случае, в FPD подобная команда вообще не сработает.
...
Рейтинг: 0 / 0
30.06.2006, 09:25
    #33823215
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
ВладимирМ
отделил восклицательный знак от команды mkdir пробелом

да не - покопавшись в загашнике нашел кучу своих детских ваяний как раз 1:1-му с выше приведенным вариантом. К тому же
Ex_Soft
В IDE - все фунциклирует.

Мало того - не поленился и проверил:
*.fxp - фунциклирует

*.app - фунциклирует

*.exe (Build Executeable -> Compact) - фунциклирует

*.exe (Build Executeable -> Stand-alone) - не фунциклирует

*.exe (Build Executeable -> Stand-alone Extended) - не фунциклирует

вот я и хочу выяснить - это так надо?

ВладимирМ
Попробуй запускать свой EXE с ключем -X. Это как раз расширеннный режим.

Шо мертвому припарки...

ВладимирМ
И еще, имя директории "log" - это для примера?

Не... Реальный живой кусок из живого проекта...

ВладимирМ
Не содержит ли реальная директория пробелов в своем имени? Например, что-то вроде "My log"

нет

ВладимирМ
В этом случае, в FPD подобная команда вообще не сработает.

ну эт понятно, что нуна приводить к 8.3
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
30.06.2006, 09:47
    #33823267
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
2 Sergey Ch && Redrik
I'm so sorry...

Fox'у, действительно плевать на nul Просто когда в дрозофиле, при отсутствующем log , произошел заход в
Код: plaintext
1.
if !file(m.log_file+"\nul")
я подумал, что все - честно... Но это не суть важно - adir() и вперьод... Загвоздка в &com так и осталась-то...

_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
30.06.2006, 09:52
    #33823282
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Ex_SoftТак понятнее?
Не-а... ;-)
В самом первом твоем примере не работает "IF" - он всегда выдает .Т.!
При повторном создании каталога "LOG" получаем: "Расширенная ошибка 183"...
Так что глянь - если запуск без "LOG" нормальный, а с "LOG" вываливается ошибка, то может дело в том, что FILE() не хавает наличия каталогов независимо от "\nul"?
...
Рейтинг: 0 / 0
30.06.2006, 10:26
    #33823377
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Ex_Soft *.exe (Build Executeable -> Stand-alone) - не фунциклирует

*.exe (Build Executeable -> Stand-alone Extended) - не фунциклирует

вот я и хочу выяснить - это так надо?
Да, это общеизвестный bug, который так и не был исправлен в FPD.

Отсюда - рекомендуется compact exe + support libraries...

Good luck!
...
Рейтинг: 0 / 0
03.07.2006, 14:17
    #33827589
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Feature not available
Hi Ex_Soft!

Под WinXP и думаю под Win2K не будет работать проверка folder\nul - так что
это прежде всего надо поменять.
Кроме того помнится есть проблемы связанные с макро - фокс не может
определить (из-за макро - нет никакой возможности предсказать в общем случае
что же за команда получится в результате "сборки" строки), что в рантайме
ему понадобится та или иная функциональность, и потому "забывает" включить
соответствующий кусок кода в создаваемый exe. Это обычно касается SQL
запросов, но видимо и с RUN ситуация сходная. В таких случаях где-то в
"недостижимой области кода" (например внутри блока IF .F. ... ENDIF или в
никогда не вызываемой процедуре) прописывают натуральную (без макро)
команду - т.к. этот код всё-же компилируется, то фокс будет знать что нужно
включить соответствующие блоки кода в создаваемый EXE. Так-же может помочь
выделение из макро собственно команды - т.е. не

lcCommand = "RUN mkdir " + m.lcDirName
&lcCommand

а

lcCommand = "mkdir " + m.lcDirName
RUN &lcCommand

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Feature not available / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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