Поиск не работает FinfFirstFileA и FindNextFileA

Тема в разделе "WASM.WIN32", создана пользователем test896, 11 май 2009.

  1. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    Всем привет!
    Никак не понимаю где ошибка , не работает прога.
    Цель обход файлов по диску.

    Делаю через FinfFirstFileA и FindNextFileA.
    Сохраняю дескрипторы, при поиске в глубъ каталога прога работает,
    но когда там больше нечего искать нужно идти к корневому каталогу тут стоит на месте.
    Под отладчиком смотрел и дошел до метки остановки, там картина такая
    файл следующий нашелся (используя сохраненный ранее дескриптор)
    в модуле ntdll стоим намертво...
    Помогите знатоки...
    мож с кодировкой связано
     
  2. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Раскомментируй 5ю строку, и в 34й ошибка еще.
     
  3. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    тсс верно говорит, слушай его.
     
  4. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    проще кинуть исходник, я не нашел ошибку, есть на FASM, переделал под TASM все равно такая же ошибка
     
  5. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    забыл скинуть,
    Процедура которая проверит атрибуты ,
    определит файл или каталог мы нашли
     
  6. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    test896
    Ты наверно сам Ms-Rem решивший отжечь )))
     
  7. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    честно не понял что ты имел ввиду
     
  8. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    :) Веселый челл!
    попробуй проверять вот такие имена: "." ".." думаю трабла в этом хотя хз, это я к Глобе обратился, а он сказал, что подруга его прабабушки поведала страшную тайну.
     
  9. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    имена '.' и '..' проверяю
     
  10. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    Короч, чувак. Давай ка ты нам свой чудо-код покажешь.
     
  11. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    Смотрите внимательнее, прикрепленные файлы
     
  12. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Блин да скока можно, ты что не можешь найти в нете готовое решение и сравнить со своим ?
     
  13. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    тебя раздражает что ли, я же помочь прошу народ, чего тут такого то, я не давно только под win стал разбираться.
    Раздраженный человек теряет много энергии - знаешь

    С прогой разобрался, все работает,
    загвоздка была в том что я определил свои процедуры и вызывал их по call в конце процедуры ret , убрал все call поставил jmp -ы все заработало

    мож вызывал не так
    фиг знает
     
  14. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Дело не в том раздражает меня или нет, я свои нервы на форумах не трачу.

    Просто когда люди толком не разобравшись в основах программирования, начинают что-то делать, и потом тут такие темы создавать, это немного достает)))Все ошибки можно увидеть в отладчике, лень?
    Разобрался, молодец. Только писать программы таким образом немного калечно. И то что оно у тебя все работает через jmp и после ret еще и на правильные адреса возвращается это вообще странно)
    Скромный совет: переделай все на нормальные процедуры, которые с прологом и эпилогом, и вызывай их через call ;) Посмотри как другие люди пишут код.
     
  15. test896

    test896 New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2009
    Сообщения:
    132
    Привет onSide
    объясню

    вот прога
    start:

    call n1

    call n2

    exit:
    выход
    n1:
    ret

    n2:
    ret

    вот в такой манере написал , почему то не работает

    а то что ты написал не разобравшись в азах программирования спрашивают все подряд
    это правда, ну где спросить как ни здесь.
    я на профи не претендую, не программист я по профессии