Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Сервис работы с файлами

Автор: dunenko
Дата сообщения: 15.12.2004 10:03
Необходимо в сервисе считать/изменить файл, расположенный на другой машине в локальной сети. Сначала была написана тестовая программка в которой TStringList спокойно открывал файлы, находящиеся на других ПК, но когда все было переписано в сервис, файлы перестали открывться. FileOpen также не помогло. В чем может быть дело? Возможно это происходит из-за того, что попытка чтения и записи - это нить?
Автор: MoKC0DeR
Дата сообщения: 15.12.2004 11:03
dunenko
Есть ли права на доступ к файлам ?
Трудно посмотреть что возварщает GetLastError ?!
Автор: dunenko
Дата сообщения: 15.12.2004 12:54
function TEcosoftThread.IsFileExist(filename : String): Boolean;
var
FileHandler : integer;
begin
result := False;
try
FileHandler := FileOpen(filename, fmOpenRead or fmShareDenyNone );

if Filehandler >0 then begin
Result := True;
FileClose(FileHandler);
end
Else
Log(Format('Error: file open error =%d, lasterror = %d', [FileHandler,GetLastError()]),'!');
except
Result :=False;
end;
end;

Возвращает:
15.12.2004 12:33:14 Error: file open =-1, lasterror = 3
15.12.2004 12:33:14 i:\sergey\join\151204ec.xml Not exist
(i - сетевой диск, доступ к нему есть)

В sysutils написано:
This second version of FileCreate lets you specify the access rights to put on the newly
created file. The access rights parameter is ignored on Win32.
Поэтому не очень понимаю, какие могут быть права. Сервис создан как ServiceType = stWin32. Более того, в не сервисном приложении работало.
Может быть есть какие-нибудь мысли или я чего-то не понимаю?

Автор: segeich
Дата сообщения: 15.12.2004 15:08
dunenko
В твоем случае сервис должен запускаться под аккаунтом юзера, имеющего доступ к сетевому файлу. Скорее всего ты пускаешь сервис от имени LocalSystem - отсюда и проблема.

Страницы: 1

Предыдущая тема: FAQ по Borland C++ Builder


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.