Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Место положение .exe   Найти похожие ветки 

 
Nathan   (2010-05-23 20:48) [0]

Столкнулся с проблемой. Для получения место положения программы использовал код:

function AppPath: string;
begin
 Result := ExtractFilePath(Application.ExeName);
end;

Далее типа:  INI := TIniFile.Create(AppPath +"\" + "setting.ini");    
Все работало прекрасно, пока не  не потребовалось открыть ассоциированный файл с программой. Вот тут и начались подводные камни. Функция возвращает путь файла, а не программы. Так же, если в .nix под wine запустить по ссылки путь будет браться путь ссылки, а не там где лежит программа.
Так понимаю, что привет ты возникают из за передачи параметров ParamStr.
Вот и не пойму как разрулить эту ситуации. Может кто помочь?


 
antonn ©   (2010-05-23 20:51) [1]

ExtractFilePath() возвращает путь уже со слешем.
c getcurrentdirectory() не путаете?


 
Ega23 ©   (2010-05-23 20:57) [2]

смотри ParamStr, ParamCount.
Объекта Application может и не быть.


 
Nathan   (2010-05-23 21:01) [3]

Действительно со сплешем ошибочка вышла, писал по памяти, зачем то воткнул. Понимаю, что привет из за:
procedure TForm.FormShow(Sender: TObject);
var
 str: string;
 i: Integer;
begin
 if (ParamCount > 0) then
 begin
   Str := ParamStr(1);
   for i := 2 to ParamCount do
   begin
     Str := Str + " " + ParamStr(i);
   end;
   ManualOpen(Str);
 end;
end;
Вот и не знаю, что с этим делать


 
antonn ©   (2010-05-23 21:13) [4]

ParamStr(0) содержит полный путь к программе. ParamCount указывает на кол-во переданных параметров программе.


 
Игорь Шевченко ©   (2010-05-23 21:59) [5]


> Вот и не знаю, что с этим делать


справку читать



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.189 c
2-1266751523
Fr
2010-02-21 14:25
2010.08.27
TRichEdit, вставка текста


15-1264678479
Илья_
2010-01-28 14:34
2010.08.27
Norton Internet Security заблокировал и удалил файл SysConst.dcu


10-1167226388
Priest
2006-12-27 16:33
2010.08.27
Собственная реализация IDispatch


2-1274330451
viktooor
2010-05-20 08:40
2010.08.27
Организация печати Grid с помощью PrintGridEh


15-1274185621
Lyonux
2010-05-18 16:27
2010.08.27
Прерывания int 21 и int 10