Форум — Ответы ( К темам )
? | NewKid: Использование shell функции TFileOperation (16-02-2003 13:01:50) |
Попробовал вставить функцию TFileOperation в пример VirtualListView. Если вид операции FO_MOVE или FO_DELETE, то функция возвращает код = 32 и дает сообщение, что папку удалить нельзя, потому что она занята другим пользователем или программой. Почему ? Помогите, очень прошу. | |
Павел (16-02-2003 14:22:26) | |
Что за TFileOperation ? Из библиотеки RXLib ? Приведите пример кода с использованием TFileOperation , разберемся. | |
NewKid (17-02-2003 09:13:40) | |
Извените, писал свой класс на Shell функции, его так назвал и ошибся. Конечно же SHFileOperation. Код : // фрагмент кода вызова if (lstvwVirtualList->Selected != NULL) { I = lstvwVirtualList->Selected->Index; CopyDirFrom = PathFrom + GetShellItem(I)->DisplayName; CopyDirFrom.SetLength(CopyDirFrom.Length() + 1); CopyDirFrom[CopyDirFrom.Length()] = '\0'; CopyDirFrom.SetLength(CopyDirFrom.Length() + 1); CopyDirFrom[CopyDirFrom.Length()] = '\0'; } SHCopyFile(CopyDirFrom, CopyDirTo, FO_MOVE); // функция void __fastcall TfrmVirtualListView::SHCopyFile(String DirFrom, String DirTo, UINT wF) { SHFILEOPSTRUCT op; int I; ZeroMemory(&op, sizeof(op)); op.hwnd = 0; op.pFrom = DirFrom.c_str(); op.pTo = DirTo.c_str(); op.wFunc = wF; // принимает значения FO_DELETE, FO_MOVE SHFileOperation(&op); } |