Текущий архив: 2004.11.28;
Скачать: CL | DM;
ВнизНаправильно запускается программа на CD через AutoRun Найти похожие ветки
← →
Megabyte-CeerCop © (2004-11-10 14:45) [0]Давно сталкивался с такой проблемой на других дисках, а сейчас, когда самому понадобился диск с Аутораном, пытаюсь её решить.
Есть программа на диске, которая в AutoRun.ini уже прописана, и при вставке диска запускается как надо.
Но если диск в CD-rom уже давно находится, и я запускаю CD через ярлык на рабочем столе, моя прога считает что сама она находится на рабочем столе и пытается искать ресурсы на рабочем столе.
Т.е. в прогу неправильно передается текущая директория.
← →
Pentium133 © (2004-11-10 14:47) [1]Может в ярлыке нужно правильно прописать рабочую директорию
← →
Megabyte-CeerCop © (2004-11-10 14:47) [2]Как быть?
Может это глюк исключительно операционки?
← →
panov © (2004-11-10 14:51) [3]И текущий каталог и каталог запуска программы передается правильно, и глюка никакого нет.
А вот как и что в программе обрабатыыается - это вопрос.
← →
Megabyte-CeerCop © (2004-11-10 15:11) [4]
> А вот как и что в программе обрабатыыается - это вопрос.
Та вроде всё как надо. Ведь при реальной вставке диска в CD всё пашет.
> Pentium133 © (10.11.04 14:47) [1]
> Может в ярлыке нужно правильно прописать рабочую директорию
Наверно это так, но когда я пытаюсь прописать эту директорию, винда его не пропускает, и пишет что директория задана неверно.
И почему при простом перетягивании CD из папки мойКомпьютер на рабочий стол ярлык создается без прописания этого пути ???
Ведь все юзеры (я в том числе):)) делают ярлыки на CD именно так.
PS как прописать путь "D:/" ? чтобы винда его приняла?
← →
Pentium133 © (2004-11-10 15:16) [5]
> Наверно это так, но когда я пытаюсь прописать эту
> директорию, винда его не пропускает, и пишет что
> директория задана неверно.
Прописывай в тот момент когда диск находится в CD
← →
uny (2004-11-10 15:16) [6]может "d:\" и что бы в это время диск там был
← →
Megabyte-CeerCop © (2004-11-10 15:30) [7]Эх, ламер я позорный!
Диск вставил, и путь сразу прописался :)),
после этого прога стала работать правильно при запуске с ярлыка.
Спасибо всем.
Одно меня не радует - ведь у многих работать будет неправильно.
← →
Pentium133 © (2004-11-10 15:32) [8]Почему?
← →
Jel © (2004-11-10 16:26) [9]
> Pentium133 © (10.11.04 15:32) [8]
Потому что не у всех CD на букве D:
← →
Pentium133 © (2004-11-10 16:29) [10]Кто создает ярлык? Если программа - то она знает с какого диска запущенна - запишет что надо, если пользователь руками - тоже путь впишется автоматически.
← →
wal © (2004-11-10 16:34) [11]Текущая директория и директория запуска программы - это несколько разные вещи. Зачем твоя программа пытается искать что-то в текущей директории (которая, в общем случае, может быть любой)? Почему бы не искать именно там, где нужно? Узнал, откуда программа запустилась и вперед на мины, хотя бы изменить текущую директорию, но лучше прямое указание пути к нужным файлам.
С уважением.
← →
Megabyte-CeerCop © (2004-11-12 10:46) [12]
> Зачем твоя программа пытается искать что-то в текущей директории
А как узнать откуда реально запущен EXE?!
Заявленная функция GetDir возвращает текущую папку, а не ту, в которой находится EXE.
А ярлык на CD создаётся с ошибкой (не прописывается путь) если в момент создания в приводе нет диска. Если создавать ярлык (перетаскиванием) когда диск есть, всё ок.
← →
Pat © (2004-11-12 10:53) [13]При запуске программы пропиши
SetCurrentDir(ExtractFilePath(paramstr(0)))
← →
wal © (2004-11-12 10:56) [14]ParamStr[0] - содержит название исполняемого файла с полным путем к нему.
С уважением.
← →
Megabyte-CeerCop © (2004-11-12 13:19) [15]
> wal © (12.11.04 10:56) [14]
Вот это да! Фенькс большой!
Никогда не слыхал о таком.
Щас проверю. :)
← →
Megabyte-CeerCop © (2004-11-12 13:30) [16]Оказывается есть такая штука
Application.ExeName; (или Application.NameExe;)
это свойство содержит полный путь к файлу приложения :))
Знал бы раньше, сколько б глюков с этими путями избежал. :(
Страницы: 1 вся ветка
Текущий архив: 2004.11.28;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.047 c