Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2014, 13:55   #21
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
mDir (D:\sent) ... имя (DirInfo.Name)
...
...mDir+DirInfo.Name); //пытаемся установить связь с файла ('D:\sent\бла-бла-бла.txt')
mDir+DirInfo.Name получится "D:\sentбла-бла-бла.txt". Ясное дело, что тут будет "Service failed on execute: File not found"
mDir+'\'+DirInfo.Name - вот тогда получится "D:\sent\бла-бла-бла.txt"
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 30.01.2014, 13:59   #22
Dimonnik
Пользователь
 
Аватар для Dimonnik
 
Регистрация: 30.01.2014
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
mDir+DirInfo.Name получится "D:\sentбла-бла-бла.txt". Ясное дело, что тут будет "Service failed on execute: File not found"
mDir+'\'+DirInfo.Name - вот тогда получится "D:\sent\бла-бла-бла.txt"
СПАСИБО!!! Тут действительно косяк был....

Теперь в логе это: Service failed on execute: File access denied

говорит что ошибка доступа, дал права все уже...
В чем может быть дело?
Тяжела и неказиста жизнь у Димы программиста
Dimonnik вне форума Ответить с цитированием
Старый 30.01.2014, 14:04   #23
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
дал права все уже...
права пользователю "System" не дал. Ну или файл кем-то открыт уже
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 30.01.2014, 14:05   #24
Dimonnik
Пользователь
 
Аватар для Dimonnik
 
Регистрация: 30.01.2014
Сообщений: 20
По умолчанию

Права System полные.....

Вот что еще заметил...
Если файлов в папке нет, то программа все равно пытается сделать reset(f)... //Ошибка по понятной причине... но в логах все тоже: Service failed on execute: File access denied
Тяжела и неказиста жизнь у Димы программиста

Последний раз редактировалось Stilet; 31.01.2014 в 12:13.
Dimonnik вне форума Ответить с цитированием
Старый 30.01.2014, 15:19   #25
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Теперь в логе это: Service failed on execute: File access denied
вот, как убрали лишнее и поправили код, так и ошибка стала человеческая выходить
eval вне форума Ответить с цитированием
Старый 30.01.2014, 16:18   #26
Dimonnik
Пользователь
 
Аватар для Dimonnik
 
Регистрация: 30.01.2014
Сообщений: 20
Хорошо

Всем огромное за советы!

Проблема решилась! Прична осталось НЕИЗВЕСТНА!!!

Рабочий код стал только вот в таком виде:

Код:
procedure ScanFolder();
var
DirInfo: TSearchRec;
ResultFile: integer;
f: TextFile;
mtext: String;
begin
  ResultFile := FindFirst(mDir+'*.*', faAnyFile, DirInfo);
  while ResultFile = 0 do
    begin
      AssignFile(f, mDir+DirInfo.Name);
      try
        Reset(f);
        ReadLn(f, mtext);
        //первая строчка текстового файла отправляется в СМС
        CloseFile(f);
        DeleteFile(mDir+DirInfo.Name);
      except

      end;
      ResultFile := FindNext(DirInfo);
    end;
  FindClose(DirInfo);
end;
т.е после добавления конструкции try

Тему можно закрывать!



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Тяжела и неказиста жизнь у Димы программиста

Последний раз редактировалось Serge_Bliznykov; 30.01.2014 в 22:50.
Dimonnik вне форума Ответить с цитированием
Старый 31.01.2014, 09:48   #27
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

и что вы тут "исправили"? просто заглушили ошибку, а как была она так и осталась
eval вне форума Ответить с цитированием
Старый 31.01.2014, 13:30   #28
Dimonnik
Пользователь
 
Аватар для Dimonnik
 
Регистрация: 30.01.2014
Сообщений: 20
По умолчанию

Поэтому и непонятно почему так... Код работает и отправляет сообщения именно только когда присутсвует конструкция try...

В другом случае служба просто останавливается и все тут....

Почему такое происходит?
Тяжела и неказиста жизнь у Димы программиста
Dimonnik вне форума Ответить с цитированием
Старый 31.01.2014, 13:39   #29
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

потому что вам надо прочитать про то как работает try except
вы "заглушили" ошибку, т.е. она из except не выходит, между except и end напишите Raise; и опять ее увидите.
eval вне форума Ответить с цитированием
Старый 31.01.2014, 14:14   #30
Dimonnik
Пользователь
 
Аватар для Dimonnik
 
Регистрация: 30.01.2014
Сообщений: 20
По умолчанию

Я прекрастно понимаю принцип работы вызова исключения. В том то и дело что исключение не вызывается.... а все проходит в блоке между try ... except. А ошибка в принципе не понятна...

т.е простым языком выражаясь если говорим программе попытаться прочитать файл, она его читает, а вот если сразу в begin говорим читай, она упирается....
Тяжела и неказиста жизнь у Димы программиста
Dimonnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И как сервис и как программа одновременно(C++ => Delphi) Человек_Борща Общие вопросы Delphi 5 09.12.2018 13:23
Превратить десткоп приложение на делфи в интернет-сервис Dennis777 Общие вопросы Delphi 12 09.12.2013 17:07
Delphi приложение Homadrom Фриланс 3 12.05.2012 13:46
Приложение Delphi RuVarez Общие вопросы Delphi 6 03.09.2010 13:23