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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2008, 23:37   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
Печаль EnginePath

Пишу небольшую програмку, чтобы можно было присоединяться к серверам AvP2. И тут возникла проблема, надо чтобы программа с настроками обращалась к файлу. Пока получается обратиться если программа находится в корне папки с игрой, но мне так не надо, надо чтобы программа обращалась по адресу например: C:\Games\AvP2\lithtech.exe.
Вложения
Тип файла: rar lithtech.rar (383.1 Кб, 14 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 17.06.2008, 15:04   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Во первых, это:
EnginePath:=IncludeTrailingBackslas h(ExtractFileDir(Application.ExeNam e)) + 'lithtech.exe';
можно записать короче:
EnginePath:=ExtractFilePath(Applica tion.ExeName)+'lithtech.exe';

Во вторых если так ты можешь обратиться к файлу и все работает, то и любым другим способом тоже будет работать. Главное чтобы путь был реальный и записан без ошибок. Раз не получалось значит файла там не было. G:\ у тебя случайно не оптический привод?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.06.2008, 23:09   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

G:\ у меня локальный диск. С EnginePath:=ExtractFilePath(Applica tion.ExeName)+' lithtech.exe'; ничего не получается. Адрес я указываю правильный, например кинул lithtech.exe по такому адресу: C:\Games и прописал EnginePath:='C:\Games\lithtech.exe' ; (сам проект находится на D:\) и lithtech.exe не запускается. Если хотите можете сами попробовать, закинуть куда-нибудь lithtech.exe и дать на него ссылку (только при этом lithtech.exe не должен прибывать рядом с Project1.exe).

Последний раз редактировалось Shouldercannon; 17.06.2008 в 23:13.
Shouldercannon вне форума Ответить с цитированием
Старый 17.06.2008, 23:14   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ну так у меня она тоже не запустилась, просит dll-ку.

Но путь то правильный и запуск начинается. Если путь неправильный (файл не найден) у тебя программа сразу закроется, ты же сам код такой написал.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 18.06.2008, 02:05   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Ну то что он не находит dll это все мелочи, самое главно чтобы Project мог запускать lithtech.exe из другой папки с определёнными параметрами, а не из той в которой они сидят вместе (Project и lithtech). Не получается это сделать хоть убейся и адрес правильный ставлю и не в какую. Можно поэксперементировать: lithtech будет лежать по адресу C:\1\1\3\lithtech.exe, а Project C:\Project.exe и попробуем обратиться к lithtech.exe. Проверку на наличие присутсвия файла lithtech.exe можно убрать.
P.S. lithtech.exe на момент эксперемента не должен находиться в одной папке с Project.exe

Последний раз редактировалось Shouldercannon; 18.06.2008 в 02:56.
Shouldercannon вне форума Ответить с цитированием
Старый 18.06.2008, 08:43   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Да какая разница где он лежит.
Скачиваю второй раз твою заготовку, только теперь переделаю и выложу...
Вложения
Тип файла: rar lithtech_fixed.rar (6.7 Кб, 13 просмотров)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 18.06.2008 в 09:05.
mutabor вне форума Ответить с цитированием
Старый 19.06.2008, 18:06   #7
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Спасибо теперь заработало, только там где вы отметили ошибку всё таки надо было оставить ExPath. С EnginePath файл тоже запускался, но без параметров, с ExPath с параметрами.
Shouldercannon вне форума Ответить с цитированием
Старый 22.06.2008, 23:23   #8
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Программа не хочет запускать файл по адресу, который находится в Edit, запускает его после того как снова задашь путь к файлу через OpenDialog.
Вложения
Тип файла: rar lithtech.rar (515.0 Кб, 11 просмотров)

Последний раз редактировалось Shouldercannon; 23.06.2008 в 23:13.
Shouldercannon вне форума Ответить с цитированием
Старый 24.06.2008, 02:13   #9
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

OpenDialog меняет текущую директорию, передавай для запуска полный путь
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.06.2008, 10:47   #10
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Да только как это сделать. Пробовал я поный путь писать и не запускается lithtech. EnginePath присваивается, но не используется. Наверно имено в этом ошибка. И вот как от нее избавиться.

Последний раз редактировалось Shouldercannon; 24.06.2008 в 10:59.
Shouldercannon вне форума Ответить с цитированием
Ответ


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