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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2016, 17:22   #1
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию найти ошибку в коде [delphi]

имеется очень небольшой исходник программы, которая мониторит изменения файлов на компьютере (создание, удаление, переименование). проблема в том, что через некоторое время (минута-две) программа сама по себе перестает реагировать на изменения файлов, пока ее не перезапустишь. надо исправить это. использую Delphi XE3, исходник: https://yadi.sk/d/woFKBXB3tGKAG

оплата 350 р (яндекс-деньги или на телефон) после тестирования EXE

Связь:
fordiskonly2015@yandex.ru
или ЛС

Последний раз редактировалось garuna; 13.07.2016 в 18:54.
garuna вне форума Ответить с цитированием
Старый 13.07.2016, 18:20   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Глобальные переменные зло.

делаем DiskIndex локальной!!!
получается такое
Код:
procedure TForm1.MakeLog;
var
  i, Cnt: Integer;
  Act, aTime, S: String;
  DiskIndex: Integer;
begin
и СРАЗУ получаем подсказку от Delphi
[Warning] Unit1.pas(108): Variable 'DiskIndex' might not have been initialized

если повезет то работам почти что штатно, если нет то ....

Добавите к опциям проекта RangeCheckError.

Мы ее задаем где-то еще.
ну так покажите где.
Изображения
Тип файла: jpg 12.JPG (22.3 Кб, 108 просмотров)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 13.07.2016 в 18:25.
evg_m вне форума Ответить с цитированием
Старый 13.07.2016, 18:43   #3
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Глобальные переменные зло.

делаем DiskIndex локальной!!!
получается такое
Код:
procedure TForm1.MakeLog;
var
  i, Cnt: Integer;
  Act, aTime, S: String;
  DiskIndex: Integer;
begin
и СРАЗУ получаем подсказку от Delphi
[Warning] Unit1.pas(108): Variable 'DiskIndex' might not have been initialized

если повезет то работам почти что штатно, если нет то ....

Добавите к опциям проекта RangeCheckError.

Мы ее задаем где-то еще.
ну так покажите где.

Так ведь значение этой переменной присваивается в потоке TDDirLogThread.Execute, который находится в другом модуле. Как еще передать значение, если не использовать глобальную переменную? Мне кажется ошибка тут совсем не в этом.
garuna вне форума Ответить с цитированием
Старый 13.07.2016, 18:52   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Исходник полон костылей. Их больше, чем комментариев.
Пришлось децл обработать напильником.
Досконально в работу не вникал, много чести!

Вложения
Тип файла: 7z Project1.7z (616.5 Кб, 20 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.07.2016, 19:33   #5
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Исходник полон костылей. Их больше, чем комментариев.
Пришлось децл обработать напильником.
Досконально в работу не вникал, много чести!

Проверил, проблема осталась - мониторинг прекратился, когда я попробовал переместить 1300 фотографий с одного диска на другой
garuna вне форума Ответить с цитированием
Старый 13.07.2016, 19:39   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Проверил, проблема осталась - мониторинг прекратился, когда я попробовал переместить 1300 фотографий с одного диска на другой
Видео запиши. Интересуют некоторые детали.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.07.2016, 20:16   #7
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

А так работает?Project1.7z
eoln вне форума Ответить с цитированием
Старый 13.07.2016, 20:18   #8
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Видео запиши. Интересуют некоторые детали.
Вот: http://s017.radikal.ru/i428/1607/23/cb183c8a94b4.gif


Цитата:
Сообщение от eoln Посмотреть сообщение
А так работает?Вложение 82716
неа. вообще не реагирует ни на что

Последний раз редактировалось garuna; 13.07.2016 в 20:28.
garuna вне форума Ответить с цитированием
Старый 13.07.2016, 22:17   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Ну чего я делаю не так?
Посмотри это.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.07.2016, 12:01   #10
garuna
Форумчанин
 
Аватар для garuna
 
Регистрация: 13.04.2013
Сообщений: 180
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Ну чего я делаю не так?
странно.. тогда что я не так делаю? вот еще видео: https://yadi.sk/i/oXNj8uTctHW5V
думал что-то с виндой, так попробовал на чистой виртуалке потестить - то же самое(
уже и total commander скачал, стал через него файлы копировать как у тебя на видео, ан нет, все равно не хочет))

кстати, вот интересно, если есть время, что если скомпилить изначальный исходник, может он у тебя тоже без проблем работает?
garuna вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в коде программы Delphi Алина505 Помощь студентам 1 08.12.2015 10:39
Найти ошибку в коде (Для данной целочисленной матрицы размером n*m найти матрицу из 0 и 1...) код на C camel5 Помощь студентам 1 26.11.2013 06:11
найти ошибку в коде anghela БД в Delphi 6 28.05.2013 16:12
Найти ошибку в коде Oksik_ Помощь студентам 9 05.11.2012 23:59