![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Adver_Doiren |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.12.2007 Репутация: нет Всего: нет |
Таки вот образом запускаю exe файл
В запускаемом экзешнике в OnCreate формы стоит
Если файл запустить из под эксплорера, то всё работает, если запускать через ShellExecute, то проверка на существование файла не проходит. C чем это может быть вызвано и как это исправить/обойти? ОС: WinXP SP2, IDE: Delphi 2007 for Win32. |
||||
|
|||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Adver_Doiren,
Указывай полный путь к файлу, или устанавливай нужную тебе тукущую директорию перед вызовом. -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: нет Всего: 5 |
Если файл в том же каталоге что и екзешник то:
![]() Это сообщение отредактировал(а) Graf_h - 26.3.2008, 17:48 -------------------- Иногда переменная - это просто переменная |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
А если так:
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Adver_Doiren |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.12.2007 Репутация: нет Всего: нет |
Rennigth
А можно подробнее про установку дериктории? Я раньше о таком не слышал. Poseidon, Graf_h Спасибо, попробую, но почему абсолютный/относительный путь в вызове может влиять на работу? |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Мое ИМХО такое, что программеров которые надеются на рабочие директории надо вешать на суку. :-| Глюки могут быть весьма неожиданные. А если программа использует OpenDialog, то тем более. Лично я впервые с этим столкнулся, когда у меня программка не грузила файл при автозапуске.
Выдирай из Application.ExeName путь при запуске, как показали выше, и всегда прибавляй к нему файл. Обычно прога открывает не один файлик так что запомнить сразу откуда запустились очень даже логично. Сменить директорию вроде ChangeDir. Кстати, у тебя пускаются экзешки? WinExec тогда юзай, т. к. букофф меньше. Да и расширения можно получить через ExtractExt (рез. с точкой .exe) -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Adver_Doiren |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.12.2007 Репутация: нет Всего: нет |
Спасибо Poseidon'у, его совет помог.
Beltar WinExec не позволяет устанавливать дерикторию для запускаемого файла, поэтому использую ShellExecute. В принципе надо мне было внимательнее МСДН читать, тогда бы заметил
Всем спасибо. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |