Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ParamStr( ) [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Dmk ©   (2002-06-01 05:27:00) 

Господа! Есть задача передать программе большой список файлов. Просто натягиваем около 100 выделенных файлов на иконку, программа подхвативает список и работает с ним. Но беда в том что параметров не может быть слишком много. В некоторых случаях происходит ошибка "Отказано в доступе к указанному устройству, пути или файлу".
Мне кажется, что происходит это из-за длины строки параметров. Наверно она не более 255 символов. Но наверняка есть способы преодолеть этот предел.
Может кто нибудь сталкивался с подобной проблемой?


Dmk   (2002-06-02 00:20:00) [1]

Не сомневаюсь. :)


Anatoly Podgoretsky   (2002-06-01 21:46:00) [2]

У меня есть подозрение, что в этом случае не используется командная строка Виндоус, а используется буфер Дельфи


Dmk   (2002-06-01 21:40:00) [3]

Да! Кстати! Если параметры задавать командной строкой Delphi через меню Run -> Parameters, то никаких проблем. Мне удалось передать таким образом около 500-сот файлов, причем путь размещения был довольно длинным. :)
Анатолий! Не забивайте себе голову такой ерундой. Пусть это будет на совести МелкоМягких.


Dmk   (2002-06-01 21:32:00) [4]

Спасибо Анатолий! Я Вас понял. Извините за занятое мною время.
С наилучшими пожеланиями.


Anatoly Podgoretsky   (2002-06-01 20:15:00) [5]

Если же ты хочешь бросать именно мышкой, произвольно выбранное количество файлов, то тебе придется об этом забыть, это ограничение на длину командной строки операционной системы, проверить можешь на любом текстовом редакторе.
В тоже время его можно обойти, если бросать не на иконку, а на открытую программу, тогда передача идет списком и не через командную строку


Anatoly Podgoretsky   (2002-06-01 19:49:00) [6]

Никаких проблем, посмотри как работают архиваторы коммандной стоки, что я зря говорю, что списки файлов надо передавать через файл, а в командной строке только ссылка на файл и лучше придерживаться общепринятого синтаксиса, тогда и с анализом строки все в порядке


Dmk   (2002-06-01 19:20:00) [7]

К сожалению, при передаче большого кол-ва параметров запуск программы вообще не происходит. Из этого получается невозможным сделать анализ строки параметров. Остается лишь пользоваться списком TStrings диалога OpenDialog либо самостоятельно составлять список например через тотже TList. :(
При этом возникают проблемы с путем содержащим хотя бы один пробел.


Anatoly Podgoretsky   (2002-06-01 14:11:00) [8]

I love Warez (01.06.02 13:51)
Личико покажи Гюльчитай


Anatoly Podgoretsky   (2002-06-01 14:10:00) [9]

VID © (01.06.02 13:38)
Общепринятый способ передавать список через файл, а признаком передачи в большинстве систем символ @


I love Warez   (2002-06-01 13:51:00) [10]

Он поподробнее никогда не рассказывает.
Лучше бы вообще не отвечал.


VID   (2002-06-01 13:38:00) [11]

To Anatoly Podgoretsky: можно поподробнее ?


Anatoly Podgoretsky   (2002-06-01 08:27:00) [12]

Параметров может быть много, но строка параметров не должна быть выше определенной длины, смени метод передавай список через файл, общепринятый способ @List


Наверх

Титульная страница Поиск, карта сайта Написать письмо