Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2011, 13:09   #1
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию DirectoryExists & Автозагрузка

Приветствую всех!

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

Тоесть Program.exe а рядом папка icons.

Так вот, я проверяю при старте программы наличие каталога icons.
Когда просто программу запускаешь, все отлично, DirectoryExists срабатывает правильно.
Но когда программа стоит в автозагрузке, то DirectoryExists возвращает почему-то ложь.

Из-за чего такое происходит?Каталог icons точно на месте.
Moonquake

Последний раз редактировалось phphel; 20.10.2011 в 13:40.
phphel вне форума Ответить с цитированием
Старый 20.10.2011, 13:12   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код проверки покажите
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.10.2011, 13:14   #3
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Код:
if not DirectoryExists(GetCurrentDir+'\icons'))
Moonquake
phphel вне форума Ответить с цитированием
Старый 20.10.2011, 13:19   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы проверяете текущую директорию, а не директорию с программой.
при запуске с автозагрузки она видимо иная, вот и не находит.
получайте путь к своей папке через ExtractFilePath(ParamStr(0))
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 20.10.2011 в 13:25.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2011, 13:26   #5
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Пепел Феникса, все верно..коварная функция GetCurrentDir, точнее моя невнимательность

Большое спасибо, можно закрывать.
Moonquake
phphel вне форума Ответить с цитированием
Старый 20.10.2011, 13:34   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
коварная функция GetCurrentDir
а что в ней коварного? вернет текущий каталог.
Цитата:
точнее моя невнимательность
тут да, надо помнить что пути относительны относительно текущего каталога, а не папки с приложением.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2011, 13:38   #7
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Пепел Феникса, угу.
Вот сейчас стал подробно разбираться..
Получается теперь нужно везде использовать ExtractFilePath(ParamStr(0)) вместо GetCurrentDir что бы небыло глюков при автозапуске ?
Moonquake
phphel вне форума Ответить с цитированием
Старый 20.10.2011, 13:46   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да, чтобы программа искала ресурсы рядом с собою.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2011, 13:49   #9
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Ок, буду исправлять, еще раз благодарю.
Moonquake
phphel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозагрузка, каталог "Автозагрузка" создается повторно (Win7 x32) MyIE Общие вопросы Delphi 10 29.03.2012 07:49
автозагрузка sevitov_yura Общие вопросы Delphi 14 10.06.2010 12:55
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Автозагрузка nikleb Общие вопросы Delphi 1 23.06.2007 14:12
Закрыть окно консоли в Delphi & Автозагрузка NovaC Общие вопросы Delphi 1 27.11.2006 21:38