当删除一个文件目路后,程序提示:引用了一个不可引用的位置??有没有遇到过这种问题的?
代码:
procedure TForm2.Button5Click(Sender: TObject);var
  APath   : AnsiString;
  lpFileOp: TSHFileOpStruct;
begin
  APath := 'F:\SEND'#0#0;
 // must end with double-#0
  with lpFileOp do
  begin
    Wnd := Self.Handle;
    wFunc := FO_DELETE;
    pFrom := pchar(APath);
    pTo := nil;
    fFlags := FOF_ALLOWUNDO;
    hNameMappings := nil;
    lpszProgressTitle := nil;
    fAnyOperationsAborted := True;
  end;
  if SHFileOperation(lpFileOp) = 0 then
    ShowMessage('文件删除成功!');
    ShellListview2.Clear;
    ShellListview2.Refresh
  else
    ShowMessage('文件删除失败!');end;

解决方案 »

  1.   

    你好像
    if SHFileOperation(lpFileOp) = 0 then
        ShowMessage('文件删除成功!');
        ShellListview2.Clear;
        ShellListview2.Refresh
      else
        ShowMessage('文件删除失败!');
    没写对吧!
      

  2.   

    if SHFileOperation(lpFileOp) = 0 then
    begin
        ShowMessage('文件删除成功!');
        ShellListview2.Clear;
        ShellListview2.Refresh;
    end
      else
        ShowMessage('文件删除失败!');
      

  3.   

    把 ShellListview2.Refresh;这句去掉就好用了,终于找到了