Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Место положение .exe


Nathan ©   (2010-05-23 20:48:00) 

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

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

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


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


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


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


antonn   (2010-05-23 21:13:00) [2]

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


Nathan   (2010-05-23 21:01:00) [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;
Вот и не знаю, что с этим делать


Ega23   (2010-05-23 20:57:00) [4]

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


antonn   (2010-05-23 20:51:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо