Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Короткая командная строка / 8 сообщений из 8, страница 1 из 1
30.01.2007, 07:45
    #34291496
wily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Не могу передать в exe-файл длинную строку с параметрами.
12 параметров, каждый из которых короткий, но в совокупности достаточнао длинная командная строка получается. При запуске программы последний параметр режется и не передается.
При запуске из фокса по оператору DO..WITH никаких проблем.
Windows XP позволяет в командной строке размещать до 8к. У меня общая длина получается 250, и не работает.
Где подкрутить?
...
Рейтинг: 0 / 0
30.01.2007, 15:08
    #34293152
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
А Вы попробуйте во временной папке генерить cmd/bat-файл, зарядив в него все, что нужно, т.е. имя ехе-ника и все параметры, а затем запустите сам cmd/bat-файл (который после выполнения мона удалить) через !/RUN имя_cmd/bat-файлa. Заодно увидите, еси не удалить, как бует выглядеть строка запуска.
На мой взгляд генерить cmd/bat-файл так - именем даете SYS(2015), a запись в него проще всего через STRTOFILE()
...
Рейтинг: 0 / 0
31.01.2007, 07:00
    #34294696
wily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Нэт. Какая разница - bat-файл или просто командная строка, все равно командный процессор запускается.

procedure param
parameters p1,p2,p3
wait window 'p1='+p1
wait window 'p2='+p2
wait window 'p3='+p3

bat-файл
param.exe 1111111111(100 штук) 222222222222(еще 100) 333333333333(еще 41)

Если общая длина параметров =240 - все нормально, 241 - вылетает.
Третий параметр режется и не передается. Точнее передается .F. и в команде
wait window 'p3='+p3 выдается ошибка.

Понятно, что я выкручусь. Просто интересно, где собака порылась.
(Exe-шник запускается вообще из чужой программы на Access написанной. Там программно формируется командная строка для запуска. А в параметрах много всяких путей описывается, поэтому получается длинная командная строка.Т.е. ситация реальная.После облома начал запускать просто в командной строке XP - и через FAR, и через штатную командную строку XP. Не идёть. Либо надо думать, как организовать простой обмен параметрами между двумя чужеродными системами.)
...
Рейтинг: 0 / 0
31.01.2007, 10:51
    #34295186
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Либо надо думать, как организовать простой обмен параметрами между двумя чужеродными системами.)
Самый простой вариант ini файл . Если для разных режимов разные зачения , имя этого файла можно передавать как параметр либо просто писать в один файл , но в разные секции.
...
Рейтинг: 0 / 0
31.01.2007, 12:24
    #34295647
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Насколько я понимаю, cmd/bat - это режим эмуляции сеанса MS DOS. Думаю, ограничение на общую длину команды в 250 символов - это как раз и есть ограничение режима эмуляции.

Кстати, а как вообще пытаешся запустить свой EXE?

И еще, где можно посмотреть сисемные ограничения на длину командной строки в операционной системе? Что-то я нигде этой информации не нашел...
...
Рейтинг: 0 / 0
31.01.2007, 12:42
    #34295726
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Если меня склероз не подводит, то для изменения длины командной сроки необходимо это указать командному интепретатору с помошью ключа при запуске (а вот ключь уже и не помню). Возможно тоже правило действует и в винде (ведь мелкомягкие могли и упростить себе жизнь) - нужен запуск cmd.exe с ключами
...
Рейтинг: 0 / 0
31.01.2007, 14:27
    #34296262
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
wily... Т.е. ситация реальная.После облома начал запускать просто в командной строке XP - и через FAR, и через штатную командную строку XP. Не идёть. Либо надо думать, как организовать простой обмен параметрами между двумя чужеродными системами.)
Как уже сказали - ограниечение cmd.exe
Если речь идет о запуске из проги, у которой можно править исходники, то копай в сторону CreateProcess()
Или может COM подойдет?
...
Рейтинг: 0 / 0
13.03.2007, 16:46
    #34387890
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Короткая командная строка
Хотя тема забыта и ей 2 месяца, все же отмечу, что я столкнулся сам с проблемой запуска из под компиленной в ехе фосовой проги внешней проги (ехе) через !/RUN с передачей параметров. Только у меня проблема легла далеко не в 240-250 символов, отрезало даже куда меньшее кол-во передаваемой строки, типа 50-70 или того меньше. И решил я эту проблему таки созданием батника посредством strtofile()...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Короткая командная строка / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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