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

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

Текущий каталог для сервиса(службы)?


novill ©   (2006-06-26 17:45:00) 

Почему-то когда я считываю настройки из ини-файла, он берется из каталога с exe-шником, а когда пишу лог-файл (AssignFile, Append) - он создается в C:\WINDOWS\system32\


novill   (2006-06-27 10:31:00) [1]

Спасибо всем.

Утро вечера мудренее: сегодня разобрался с происходящем.

GetCurrentDir возвращает  c:\WINDOWS\system32\ ,что понятно , а
ParamStr(0) путь к екзешнику, что тоже ясно.


isasa   (2006-06-26 22:16:00) [2]

Да, забыл, возвращает полное имя. Далее делаем ExtractFilePath


isasa   (2006-06-26 22:11:00) [3]

Юзай

Delphi syntax:

function GetModuleFileName(Module: HMODULE; Buffer: PChar; BufLen: Integer): Integer;

Свой каталог(каталог исполняемого файла)
GetModuleFileName(nil, Buffer, BufLen);


и в нем-же лог и ини ...
Для сервиса подойдет. :)


Плохиш   (2006-06-26 18:21:00) [4]


> novill ©   (26.06.06 18:04) [2]
> Getcurrentdir выдает C:\WINDOWS\system32\
> а инишник читается из другого каталога (там где лежит exe-
> шник).

А что в коде написано?


Desdechado   (2006-06-26 18:09:00) [5]

Понятия "текущий каталог" и "Каталог в котором лежит exe-шник" - разные вещи.


Palladin   (2006-06-26 18:07:00) [6]

а что говорит ParamStr(0) ?


novill   (2006-06-26 18:04:00) [7]


> Понятие "текущий каталог" очень расплывчатое.

Каталог в котором лежит exe-шник.

Getcurrentdir выдает C:\WINDOWS\system32\
а инишник читается из другого каталога (там где лежит exe-шник).
Причем, я не могу понять, откуда конструктор берет этот каталог.


Desdechado   (2006-06-26 17:54:00) [8]

Понятие "текущий каталог" очень расплывчатое.
Для примера, запусти свою программу HelloWorld.exe вот так:
cd \
c:\delphi\helloworld.exe
и вот так
cd c:\delphi\
helloworld.exe

и увидь разницу


Наверх

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