![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Drag and drop и extractfilename
CatAlone © (2007-07-21 17:39:00)
procedure TForm1.DropFiles(var Mes: TWmDropFiles);
var
n, i: Integer;
fname: String;
begin
n:=DragQueryFile(Mes.Drop, $FFFFFFFF, nil, 0)-1;
try
for 1:=0 to n do begin
SetLength(fname, MAX_PATH);
DragQueryFile(Mes.Drop, I, PChar(fname), MAX_PATH);
if fileexists(fname) then inlist(fname);
end;
finally DragFinish(Mes.Drop); end;
end;
Procedure Tform1.inlist(str:string);
begin
...
fdobname:=extractfilename(str);
memo1.Lines.Add(fdobname);
....
end.
Почему то при попытке извлечь имя файла, вместо него извлекаются запятые, причем до операции строка нормальная.
procedure TForm1.Button2Click(Sender: TObject);
begin
opendialog2.Execute;
inlist(opendialog2.FileName);
end;
В случае обычного вызова функции ошибки не происходит.
Anatoly Podgoretsky (2007-07-21 19:49:00) [1]Вызвать DragQueryFile с fname = nil
Описание в справке.
CatAlone (2007-07-21 19:07:00) [2]Это i ! :)
А можно поподробнее?
Anatoly Podgoretsky (2007-07-21 18:05:00) [3]> CatAlone (21.07.2007 17:39:00) [0]
Это что "for 1"?
Это SetLength(fname, MAX_PATH) тоже надо заменить на вызов DragQueryFile для получения размера буфера