VBA хранит кэш прошлых изменений кода? - PullRequest
4 голосов
/ 17 ноября 2009

Я создал небольшое приложение в VBA для autocad (файл .dvb). Имеет форму и несколько модулей.

Первоначально я написал некоторый код в модуле, который содержал и IP-адрес (10.0.0.16). Позже я заменил IP-адрес фактическим именем netbios (MyServer).

При выполнении некоторого обслуживания я искал папку, содержащую этот файл, с помощью FileLocater Pro для текстовой строки "10.0.0". И вот, он получил удар по этому файлу. Я искал файл, и строка "10.0.0" нигде не существует.

Что дает? Мое единственное предположение, что файл .dvb имеет журнал истории или журнал отмены прошлых изменений, может быть. Кто-нибудь знает?

Ответы [ 3 ]

1 голос
/ 15 июня 2011

Может не сохранить кеш, но я видел, что Office сохраняет проекты VBA в структурированном контейнере хранения. Если Autocad делает то же самое, когда элемент удален & c. страницы в файле контейнера могут быть помечены как неиспользуемые, а не фактически удалены. Это повышает производительность, когда вы вносите много правок в большие файлы. Это может показаться не очень важным для проекта VBA, но структурированное хранилище было разработано для более общих случаев, когда это может стать проблемой.

1 голос
/ 17 ноября 2009

AFAIK это не так. Однако функция поиска в большинстве систем Windows индексирует ваши файлы, а затем, когда вы выполняете поиск, выполняет поиск по индексу. Возможно, именно так был создан ваш ложный положительный результат. Однако, если вы действительно хотите быть уверенным, вы всегда можете просто открыть (копию) файла в блокноте и выполнить ctrl-f.

0 голосов
/ 13 августа 2010

Мое наблюдение по поводу файлов DVB состоит в том, что они со временем увеличиваются на величину, которая, по-видимому, не связана с количеством внесенных изменений. Простое добавление новой строки может привести к увеличению размера файла DVB с 2 МБ до 4 МБ! Таким образом, кажется, что DVB может действительно содержать некоторые старые элементы, которые не являются сборщиком мусора или что-то в этом роде.

Чтобы уменьшить размер файла, можно использовать AutoCAD для сохранения DVB с другим именем. Новый файл тогда содержит только актуальную информацию и очищается. Замените старый DVB на новый, и все должно работать. Большие файлы также замедляют работу VBA IDE!

...