Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Файловые уведомления!!!!!!!!!!!!!!!!!!!!! Добавлено: 18.09.02 14:44  

Автор вопроса:  Viktor
             Ниже приведен код, у кого есть интерес и настроение протестировать напишите что получилось, может подскажете где я заблудился.

            Все это сочинялось в Win ME, процессор – 633, оперативная память – 256.

            Для удобства я собрал 4 отдельных проекта в одну кучу, при создании/удалении любого файла/каталога на диске "С:\", должно появиться сообщение.

            Теперь, в чем проблема:

            - Сама программа работает, но очень медленно, при открытии каталога возникает впечатление, что одновременно с приостановкой процесса приложения повесилась вся система, но если набраться терпения можно дождаться результата. Если сначала вырубить программу при помощи "Ctrl-Alt-Del", то потом  она соображает быстрее. Причем время задержки практически не зависит от того, скомпилирован проект или нет, проверяются ли одновременно все 4 объекта оповещения, или же программа работает только с одним (я проверял их сначала по одиночке, потом все вместе). Как я понимаю – всего этого быть не должно.

            - При первом запуске программы, или при запуске после сохранения проекта, объект оповещения сбрасывается в установленное состояние до внесения изменений в файловую систему, т.е. обрабатываются события произошедшие до того как программа начала работу. Хотелось бы это исправить, но здесь я просто не знаю с чего начать.

            И последнее…

В этом примере объект оповещения сбрасывается в установленное состояние после внесения пользователем изменений в файловую систему, а как определить аналогичные действия пользователя до того, как откроется файл, каталог и т.д. J

 

‘********************************************************************

КОД

‘********************************************************************

 

В форму "Project1.Main":

2 кнопки "Старт" и "Выход"

и это:

 

Option Explicit

Dim Scaning As Object ' Модуль класса

 

Private Sub Form_Load()

Set Scaning = CreateObject("Project2.SCAN") 'Экземпдяр модуля класса

End Sub

 

Private Sub Command1_Click()

Scaning.DirectoryTree = "C:\" ' Запускает отслеживание изменений в файловой системе

End Sub

 

' Выход из программы

Private Sub Command2_Click()

Scaning.EndScan = True

Set Scaning = Nothing

Unload Me

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

Set Main = Nothing

End Sub

 

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 19.09.02 06:00
Извени, что не нашел времени проверить код, но у меня есть одно маленькое замечание. Скорее всего дело в том, что слишком много хочешь от системы. Не нужно запускать уведомления о ВСЕХ каталогах. Нужно просить систему сообщеть изменения только в одном - двух.

Ответить

Номер ответа: 2
Автор ответа:
 Viktor



Вопросов: 6
Ответов: 3
 Профиль | | #2 Добавлено: 19.09.02 07:29

    Если бы дело было только в этом...
Начал я с одного конкретного каталога и с одного уведомления, а уже потом, в рамках научного тыка родилось то, что я прислал на форум.
    Но результат приблизительно такой же - время задержки озадачит любого

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам