2010-10-27 3 views
0

... Даже когда пользователь открывает приложение, дважды щелкнув связанный файл в директории, отличной от исполняемого файла. Я всегда использовал ExtractFilePath (Application.EXEName), но эта функция не работает так, как надеялась в этом обстоятельстве.Какой код позволит мне найти каталог скомпилированного исполняемого файла?

+2

Это определенно должно работать. –

+0

'ExtractFilePath (Application.EXEName)' должен работать. Что он делает неправильно? –

+0

Может ли Vista и Win7 не разрешать чтение или манипулирование файлами внутри \ ProgramFiles? (Прошу прощения, что у меня нет фактического сообщения об ошибке со мной сейчас ... пользователь в другом месте.) –

ответ

0

Также попробуйте ParamStr (0). Может быть, это работает, когда application.exename нет?

+3

Это именно то, что возвращает свойство ExeName. –

5

ExeName возвращает ParamStr(0), который в свою очередь возвращает строку произведенный GetModuleFileName с hModule набора 0. Я не вижу никаких причин, почему это не будет работать в штатном режиме.

0

ExePath: = ExtractFilePath (paramstr (0));

Я делаю это все время, и он всегда работает, независимо от того, на какой ОС он работает.

Смежные вопросы