Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 1
Регистрация: 18.12.2013
Сообщений: 121

Автозагрузка данных в программу

06.08.2015, 00:33. Показов 813. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, такая проблема. У меня прога работает так, что если в источнике(файл Excel) что то поменялось, то программа сама должна подгружать данные. Но у меня постоянно вываливается ошибка "Ссылка на объект не указывает на экземпляр объекта" На MSDN можете не посылать, я там уже видел и видел из-за чего это может быть, пытался по шаманить, не помогает.

Привожу код с пояснениями:

Инициализирую

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public Form1()
        {
            InitializeComponent();
            value_supplier = Properties.Settings.Default.Value_Supplier; // поставщик
            path_Excel = Properties.Settings.Default.Path_Excel;
            if (path_Excel != null)
            {
                if (value_supplier == "Excel")
                {
                    Run();
                }
            }
        }
Код обновления


Запускаю сам процесс
C#
1
2
3
4
5
6
7
public void Run()
        {
            Data data = new Data();
            data.path = path_Excel;
            Start_Upd = new Thread(watcher_upd);
            Start_Upd.Start(data);
        }

C#
1
2
3
4
5
6
7
8
9
10
11
  public void watcher_upd(object data)
        {
            Data obj = (Data)data;
            string ptExcel = obj.path;
            watch.Path = ptExcel;
            watch.Filter = "Resource.xlsx";
            watch.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Size;
            watch.SynchronizingObject = this;
            watch.Changed += new FileSystemEventHandler(Run_Update);
            watch.EnableRaisingEvents = true;
        }
Здесь уже что будет происходить, вызывается функция Upd, которая обновляет
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 public void Run_Update(object sender, FileSystemEventArgs e)
        {
            try
            {
                if (path_Excel != null)
                {
                    DateTime lastWrite = File.GetLastWriteTime(path_Excel);
                    if (lastWrite != lastRead)
                    {
                        Upd();
                        lastRead = lastWrite;
                    }
                }
                else
                {
                    MessageBox.Show("Error AutoUpdate!");
                }
            }
            catch (Exception ex)
            { }
        }
Ошибка в строке
C#
1
watch.Path = ptExcel;

Подскажите пожалуйста как в коде и на что нужно исправить, не могу догнать((((

Добавлено через 7 минут
Было FileSystemWatcher watch;

Исправил на FileSystemWatcher watch = new FileSystemWatcher();

Ошибка пропала, но осталась на той же строке, теперь она другого типа

"Имя папки H:\Resource.xlsx не допускается."
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.08.2015, 00:33
Ответы с готовыми решениями:

Автозагрузка
Здравствуйте!Можно ли сделать что-то вроде автозагрузки windows (msconfig)? Чтобы выводился список всех программ в автозагрузке...

Автозагрузка
Всем привет, нужна помощь. Есть программа которая находится в автозагрузке как сделать так, чтобы ее не видели другие программы такие как...

Автозагрузка данных
Всем привет! У меня такой вопрос: При запуске как можно сделать автозагрузка записей в dataGridView. вот вам код: using System; ...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18265 / 14189 / 5367
Регистрация: 17.03.2014
Сообщений: 28,877
Записей в блоге: 1
06.08.2015, 02:39
AnfieldHeart,
C#
1
2
watch.Path = Path.GetDirectoryName(ptExcel);
watch.Filter = Path.GetFileName(ptExcel);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.08.2015, 02:39
Помогаю со студенческими работами здесь

Как узнать когда программу запустил User, а когда автозагрузка ?
Как узнать когда программу запустил User, а когда автозагрузка ?

Автозагрузка
В Ссleanere в автозагрузке удалила все...исчезла я зыковая панель...нажимаю потом на панель задач ставлю галочку языковая панель, но она не...

Утилита для мониторинга автозапуска
Приветствую! Подскажите пожалуйста, существует ли такая утилита для мониторинга автозапуска, которую можно настроить таким образом, чтобы...

Автозагрузка
Есть программа, делающая бэкапы. Пути откуда и куда копировать, записываются в текстовый файл при запуске программы. Программа сидит...

Автозагрузка
Здравствуйте! Я бы хотела узнать из каких этих программ можно убрать галочки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru