Пытаюсь сделать рекурсивную функцию для поиска и удаления файлов в указанной директории. В процессе выполнения вылетает ошибка. Не могу понять в чём дело. Может кто-нибудь видит где ошибка? Код (Text): updirmask db "..",0 slash db "\",0 pathanymask db "\*",0 FindandDelete proc Directory :DWORD LOCAL SearchFilter[MAX_PATH] :byte LOCAL CurFileName[MAX_PATH] :byte LOCAL WFD :WIN32_FIND_DATA invoke SetCurrentDirectory,Directory invoke lstrcpy,addr SearchFilter,Directory invoke lstrcat,addr SearchFilter,addr pathanymask invoke FindFirstFile,addr SearchFilter,addr WFD cmp eax,INVALID_HANDLE_VALUE je exit1 mov hFind,eax deleting: invoke FindNextFile,hFind,addr WFD test eax,eax jz exit1 cmp WFD.dwFileAttributes,FILE_ATTRIBUTE_DIRECTORY jne @F invoke lstrcmp,addr WFD.cFileName,addr updirmask cmp eax,0 je deleting invoke lstrcpy,addr CurFileName,Directory invoke lstrcat,addr CurFileName,addr slash invoke lstrcat,addr CurFileName,addr WFD.cFileName invoke FindandDelete,addr CurFileName jmp deleting @@: invoke DeleteFile,addr WFD.cFileName jmp deleting exit1: invoke FindClose,hFindret FindandDelete endp