Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

Ошибка при вызове SHFileOperation после ForceDirectories   Найти похожие ветки 

 
pasha_golub ©   (2007-11-06 17:03) [0]

Смысл кода внизу:

edit2.text - путь, который должен быть создан
edit1.text - папка, которая должна быть скопирована в ранее созданный путь

Так вот если убрать ForceDirectories, то все работает тихо. Если нет, то ошибка: "Can"t read the source files" или что-то в этом роде. Дословно не помню, сорри.

Шо за мистика?

procedure TForm1.Button1Click(Sender: TObject);
var  SH_Info: TSHFileOpStruct;
begin
   if not ForceDirectories(edit2.text) then
    raise Exception.Create("Smth wrong");
   ZeroMemory(@SH_Info, SizeOf(SH_Info));
   SH_Info.pFrom := PChar(edit1.Text);
   SH_Info.Wnd := GetDesktopWindow;
   SH_Info.wFunc := FO_COPY;
   SH_Info.pTo := PChar(edit2.text);
   SH_Info.fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_RENAMEONCOLLISION or FOF_SILENT;
   if SHFileOperation(SH_Info) > 0 then RaiseLastOsError;
end;


 
Johnmen ©   (2007-11-06 17:45) [1]

Ну что тут сказать? Читайте справку по SHFILEOPSTRUCT в MSDN. В частности про pFrom.


 
Rouse_ ©   (2007-11-06 17:47) [2]

Терминирующие нулики добавь...


 
Anatoly Podgoretsky ©   (2007-11-06 18:31) [3]

> pasha_golub  (06.11.2007 17:03:00)  [0]

Зачем нужен ForceDirectories, если используешь SHFileOperation


 
pasha_golub ©   (2007-11-07 09:44) [4]


> Johnmen ©   (06.11.07 17:45) [1]
>
> Ну что тут сказать? Читайте справку по SHFILEOPSTRUCT в
> MSDN. В частности про pFrom.
>


> Rouse_ ©   (06.11.07 17:47) [2]
>
> Терминирующие нулики добавь...

Спасибо, ребята. Позор мне. Помню шо заковыка была... Ужас. Я цельный день промучался.


> Anatoly Podgoretsky ©   (06.11.07 18:31) [3]
>
> > pasha_golub  (06.11.2007 17:03:00)  [0]
>
> Зачем нужен ForceDirectories, если используешь SHFileOperation
>

Там серия этих Форсов, создают необходимые пути поначалу. Думал, что в этом дело.


 
Anatoly Podgoretsky ©   (2007-11-07 09:58) [5]

> pasha_golub  (07.11.2007 09:44:04)  [4]

> Rouse_ ©   (06.11.07 17:47) [2]
>
> Терминирующие нулики добавь...

> Спасибо, ребята. Позор мне. Помню шо заковыка была... Ужас. Я цельный день промучался.

На этом многие спотыкаются. Большинство примеров в Сети имеют подобную ошибку.


 
pasha_golub ©   (2007-11-07 10:45) [6]


> Anatoly Podgoretsky ©   (07.11.07 09:58) [5]


> На этом многие спотыкаются.

Да самое обидно, что я уже пользовался этим SHFileOp, да не стал искать код. С наскоку решил. :)



Страницы: 1 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
2-1194007806
MZ_Organize
2007-11-02 15:50
2007.12.02
раскалдка с англ. на рус. и с рус. на анлг


2-1194647842
artkil
2007-11-10 01:37
2007.12.02
Соединение с Internet


15-1193313950
Nucer
2007-10-25 16:05
2007.12.02
TCP сервер


1-1189687888
Андрей Пл
2007-09-13 16:51
2007.12.02
TDBChart есть ли у компонента метод наподобие Print Preview?


6-1175008173
paradox01
2007-03-27 19:09
2007.12.02
Сокеты, сообщение об ошибке