View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002674 | SAS.Планета | Баг / Bug | public | 05-04-2015 19:24 | 07-04-2015 17:28 |
| Reporter | vasketsov | Assigned To | vdemidov | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Product Version | 141212 | ||||
| Target Version | 150915 | Fixed in Version | 150915 | ||
| Summary | 0002674: Ошибка в TFileNameIteratorInFolderByMask.Next | ||||
| Description | TFileNameIteratorInFolderByMask.Next if FValidFindData then begin repeat if IsNeedProcess(FFindFileData) then begin AFileName := FFolderNameFromRoot + FFindFileData.cFileName; Result := True; FValidFindData := Windows.FindNextFileW(FFindHandle, FFindFileData); Break; end; until not FValidFindData; Если IsNeedProcess возвращает false - FValidFindData вообще не меняется. Получается бесконечный цикл. ps. Налетел на это при попытке добавить дополнительное условие фильтрации файлов по размеру. | ||||
| Tags | No tags attached. | ||||
|
|
Мда. Похоже код должен быть вот такой: if FValidFindData then begin repeat if IsNeedProcess(FFindFileData) then begin AFileName := FFolderNameFromRoot + FFindFileData.cFileName; Result := True; end; FValidFindData := Windows.FindNextFileW(FFindHandle, FFindFileData); until (not FValidFindData) or Result ; end; |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 05-04-2015 19:24 | vdemidov | New Issue | |
| 05-04-2015 19:25 | vdemidov | Reporter | vdemidov => vasketsov |
| 05-04-2015 19:25 | vdemidov | Status | new => confirmed |
| 05-04-2015 19:26 | vdemidov | Note Added: 0015533 | |
| 07-04-2015 17:28 | vdemidov | Status | confirmed => resolved |
| 07-04-2015 17:28 | vdemidov | Fixed in Version | => 150915 |
| 07-04-2015 17:28 | vdemidov | Resolution | open => fixed |
| 07-04-2015 17:28 | vdemidov | Assigned To | => vdemidov |
| 08-08-2025 13:22 | zed | Category | Баг => Баг / Bug |