![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подскажите плз, можно ли из под сервиса писать файл?
Layner © (2004-12-24 11:21:00)Такой код:
procedure TService.eFile(txt: string);
var
TF: TextFile;
begin
AssignFile(TF, 'C:\log.txt');
Append(TF);
Writeln(TF, txt);
CloseFile(TF);
end;
Стандартная процедурка... Из под обычного приложения работает, в запущеном сервисе выдает ошибку (в Просмотре Событий: Invalid floating point operation.)
Подскажите, можно ли из сервиса писать файлы? По идее конечно можно, но почему у меня не работает, ничего не понимаю. Заранее спасибо.
Leonid Troyanovsky (2004-12-25 14:23:00) [1]
> Layner © (24.12.04 12:04) [2]
> Спасибо, только как это messagebox в сервисе? А с исключением
MB_SERVICE_NOTIFICATION
--
Regards, LVT
Digitman (2004-12-24 12:17:00) [2]
> как это messagebox в сервисе?
если это Win32-сервис, стартующий при входе пользователя в систему и взаимодействующий с польз.десктопом, то messagebox вполне подойдет для целей отладки - будет работать обычным образом как в обычном GUI-приложении
иначе придется задействовать штатный механизм протоколирования событий в виде использования метода TService.LogMessage вместо вывода модального диал.окна
Layner (2004-12-24 12:04:00) [3]Спасибо, только как это messageboxв сервисе? А с исключением попробую.
Digitman (2004-12-24 11:35:00) [4]
> ничего не понимаю
а что тут понимать ?
возьми да напиши
procedure TService.eFile(txt: string);
var
TF: TextFile;
begin
try
AssignFile(TF, 'C:\log.txt');
Append(TF);
Writeln(TF, txt);
CloseFile(TF);
except
on e:exception do
messagebox(0, pchar(e.classname + ' ' + e.message), 'Ничего не понимаю, но исключение все же происходит', mb_ok or mb_setforeground)
end;
end;