См. также: viewtopic.php?f=16&t=280Построение списка файлов для относительного пути A (как реализовано в HostFiles):
- строится список файлов из А относительно вторичного каталога (X)
- этот список дополняется файлами из А относительно первичного каталога (Y), если X не найден или список файлов X получен без ошибок.
-
общий результат поиска приравнивается к результатам поиска в Y.
По идее, можно иметь не пустой список файлов и loc.res # 0, говорящий, что этот список, возможно, не полон. Тогда надо:
1) искать файлы в Y не зависимо от результатов поиска в X
2) более корректно выставлять общий результат:
если только один из каталогов не существует, то результат выставляется по поиску в существующем. Как выставляется результат, если в обоих каталогах при поиске возникли ошибки (но что-то нашлось), уже не так важно, наверное.
Касательно выделенных граблей --- наступаю второй раз. Первый был давно и решился закомментированием ASSERT(loc.res = 0, 100). Второй, сейчас, был без ASSERT --- выдавал сообщение об ошибке. Полдня убил, чтобы понять: почему при полном пути все ок, а при относительном "location or file not found":
Код:
opath = "w:\work\1"
npath = "w:\work\2"
type = "odc"
res = 0
HostLocator's opath = w:\work\1
HostLocator's npath = w:\work\2
opath = "1"
npath = "2"
type = "odc"
Список файлов 1 не получен: location or file not found
Список файлов 2 не получен: location or file not found
res = -1
HostLocator's opath = W:\work\1
HostLocator's npath = W:\work\2