DJ VK » 22 авг 2017, 15:32
что, в принципе, логично.
Создав метку мы знаем, что база меток поменялась. Ну и на это действие совершаем операцию.
Все что происходит за пределами программы - черный ящик, неизвестность, мусор, от этого практически любая вполне нормальная программа абстрагирована.
Так, например, вспомогательные файлы программы. Любые изменения файла (давайте для образца возьмем файл настроек) вручную программа не воспринимает без особой на то необходимости. Вот как только происходит обращение к этому файлу, вызванное действиями в самой прграмме (чтение или запись) - тогда пожалуйста, и то не факт. Скажем сброс настроек или отмена последней операции не обязательно приведут программу к необходимости чтения подправленного файла.
Иное дело, съемный диск. Как его вынули или всунули - операционка сама рассылает программам сообщение, его можно поймать.
Есть довольно специфическое поведение в некоторых редакторах файлов, когда он чувствителен к изменению файла. И прошу заметить, что он никто не монитрит по таймеру ежесекундно, взбрело ли там кому-то вручную рыться в настройках при запущенной программе, - это абсолютно девиантное поведение с точки зрения запущенной программы (Не изволите ли перезапустить). Так вот в этих редакторах мониторится потеря активации окна приложения и повторная активация (фокус) приложения. Именно в этот момент эти некоторые программы делают проверку, и пишут, что открытый файл поменялся на диске, надо ли переоткрыть?
Резюмируя сказанное. Теоретически можно поддержать то, что вы хотите. Но это весьма специфичное поведение. База должна писать в себя все изменения в реальном времени, а клиент, который не опрашивает её на предмет постоянного наличия изменений - ничего не должен.
Для вашего пожелания создавайте хотелку, просите функцию проверки базы меток, и ждите ее выполнения (от нуля до бесконечности лет)
Пути два.
1) простая кнопка "перечитать метки".
2) проверка обновлений файлов меток при активации основного окна программы.