![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что-то не понимаю разницы
slart © (2004-12-28 23:29:00)
procedure DragDropFiles(DirTo:string;Action:Cardinal);
var i:integer;
s:string;
SHFileOpStruct : TSHFileOpStruct;
handle:Hwnd;
begin
s:='';
for i:=0 to Form1.ListBox1.Items.Count-1 do
if Form1.ListBox1.Selected[i] then
s:=s+vib[i]+Form1.Listbox1.Items[i]+#0;
s:=s+#0;
with SHFileOpStruct do
begin
Wnd := Handle;
wFunc:=Action;
pFrom := pchar(s);
pTo := pchar(DirTo);
fFlags := 0;
fAnyOperationsAborted := False;
end;
SHFileOperation( SHFileOpStruct );
end;
если я вызываю DragDropFiles('c:\',FO_COPY), то файлы копируются без окна статуса, а если пишу просто wFunc:=FO_COPY, то с ним.. не понимаю разницы..
slart (2004-12-29 07:58:00) [1]все, разобрался.. это было из-за неопределенного handle, хотя сама суть произошедшего интересна..
slart (2004-12-29 07:41:00) [2]копирую целый фильм, чтобы уж точно показалось.. а насчет хэндла.. вроде катит..
Shaman_Naydak (2004-12-29 07:32:00) [3]Лично мне, Джим, не нравится больше всего Wnd:=Handle..
а Handle у нас не инициализирован и лежит там, что бог на душу положит.. да и в принципе окно может и не показаться, если винда быстро справится с делом
slart (2004-12-29 00:34:00) [4]ну может хоть посоветуете как мне бы справиться с сей проблемой? что-то я нигде не могу найти ответа..
slart (2004-12-29 00:05:00) [5]недочет! верно! но опять не по сути, а по "офрфографии" так сказать )
GuAV (2004-12-29 00:02:00) [6]slart © (28.12.04 23:29)
pTo := pchar(DirTo);
А где второй нуль терминатор ?
slart (2004-12-28 23:58:00) [7]про обнуление забыл) но не в этом суть и не поможет сие, как же быть-то.. приичем даже пробовал так:
- та же история!
Action:byte;
case Action of
0:wFuns:=FO_COPY;
end;
Cobalt (2004-12-28 23:52:00) [8]Действительно, не вижу разницы, только отладка тебе поможет.
Но...
Вообще-то, принято перед использованпием структур из обнулять:
FillChar(SHFileOpStruct,SizeOf(SHFileOpStruct),0)