Что это за ошибка и как можно ее исправить?
Писала код для нахождения из списка книг по издательству. То есть, я задаю год и он находит какие книги изданы в этом году.
32-я ошибка как правило случается если файл занят и заблокирован другим процессом. Причины могут быть разные, даже такая элементарщина, что он открыт в Notepad или ещё каком HexEditor.
Файла может вовсе не быть, либо он открыт на чтение, а в него пишут.
Нужен фрагмент кода содержащий ошибку.
Фрагмент кода скорее всего не внесёт ясности. Думаю всё таки процессы нужно смотреть.
Ну и естественно проверить точно ли есть фаил с именно таким именем
Кстати да, если путь к файлу неверно указан, то I/O Error 32 вполне себе мыслим. Это точно. Начать нужно с path file.
К тому же мне вспомнился ваш вопрос.
Может строку пути подают с переменной которая имеет не тот тип. Студия приведёт типы конечно, с сообщением что возможна потеря данных. Путь в итоге окажется совершенно не существующим. Так что на код глянуть не помешает
Ну если в пути к файлу присутствуют буквы "Мои документы", то вполне возможен и такой исход событий.
Я могй отправить скрины по почте, чтобы было яснее :) просто не знаю как сюда вставлять скрины :(
Скрины не нужны. Нужен исходный код и строка, на которой возникает исключение.
Тем более интересно как образуется путь для передачи аргументом функции.
Ну например:
Код:
// Копируем mwwin32.dll в системную директорию
SysDir := WideStrAlloc(1024);
GetSystemDirectoryW(SysDir, 1024);
CurMWWIN32Path := lStrCat(PWideChar(GetCurrentDir), PWideChar('\DLL\mwwin32.dll'));
NewMWWIN32Path:= lStrCat(SysDir, PWideChar('\mwwin32.dll'));
MWWIN32Path := WideString(NewMWWIN32Path); // ну эта строка пока не нужна, она нужна для функции удаления файла которая требует другой тип строки
CopyMWWIN32State := CopyFileW(CurMWWIN32Path, NewMWWIN32Path, FALSE);
StrDispose(SysDir);
SysDir := WideStrAlloc(1024);
GetSystemDirectoryW(SysDir, 1024);
CurMWWIN32Path := lStrCat(PWideChar(GetCurrentDir), PWideChar('\DLL\mwwin32.dll'));
NewMWWIN32Path:= lStrCat(SysDir, PWideChar('\mwwin32.dll'));
MWWIN32Path := WideString(NewMWWIN32Path); // ну эта строка пока не нужна, она нужна для функции удаления файла которая требует другой тип строки
CopyMWWIN32State := CopyFileW(CurMWWIN32Path, NewMWWIN32Path, FALSE);
StrDispose(SysDir);
Малейший недосмотр или неправильно выбраный тип переменной и код не будет работать.
По этому не нужны никакие скриншоты, а нужен код.
Ну собственно строка где останавливается студия, и как объявлены все участвующие лица)).
Если этого будет не достаточно вам подскажут что ещё нужно выложить.
Цитата: Just_noob
... просто не знаю как сюда вставлять скрины :(
И это благо, поверьте мне)))
А то у меня есть ощущение что вы бы сейчас всё завалили скринами, а мы бы вам так и не помогли:)