Problemas em apagar pastas com todo o seu conteúdo
Preciso apgar um diretório com todos os arquivos e sub-diretório que ela contem, para isso utilizo esta função:
function ApagarPasta(NomeDaPasta: String; ManterPasta: Boolean): Boolean;
var
R: TSHFileOpStruct;
begin
Result := False;
if not DirectoryExists(NomeDaPasta) then
Exit;
if ManterPasta then
NomeDaPasta := NomeDaPasta + ´*.*´
else if NomeDaPasta[Length(NomeDaPasta)] = ´\´ then
Delete(NomeDaPasta, Length(NomeDaPasta), 1);
FillChar(R, SizeOf(R), 0);
R.wFunc := FO_DELETE;
R.pFrom := PChar(NomeDaPasta);
R.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
result := ((SHFileOperation(R) = 0) and (not R.fAnyOperationsAborted));
end;
e ela funciona bem, quer dizer, + ou - bem. No caso, se existirem os diretórios:
\Pasta (1)
\Pas (2)
ou qualquer outro (2) que o nome seja parcialmente o nome do (1), eu não consigo apagar o (2) de jeito nenhum, sempre aparecendo a mensagem de erro: ´Não é possível exlcuir o arquivo. Não é possível ler o arquivo ou disco de origem.´.
Relembrando que ete erro só ocorre nesta situação Alguma sugestão?
Grato.
function ApagarPasta(NomeDaPasta: String; ManterPasta: Boolean): Boolean;
var
R: TSHFileOpStruct;
begin
Result := False;
if not DirectoryExists(NomeDaPasta) then
Exit;
if ManterPasta then
NomeDaPasta := NomeDaPasta + ´*.*´
else if NomeDaPasta[Length(NomeDaPasta)] = ´\´ then
Delete(NomeDaPasta, Length(NomeDaPasta), 1);
FillChar(R, SizeOf(R), 0);
R.wFunc := FO_DELETE;
R.pFrom := PChar(NomeDaPasta);
R.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
result := ((SHFileOperation(R) = 0) and (not R.fAnyOperationsAborted));
end;
e ela funciona bem, quer dizer, + ou - bem. No caso, se existirem os diretórios:
\Pasta (1)
\Pas (2)
ou qualquer outro (2) que o nome seja parcialmente o nome do (1), eu não consigo apagar o (2) de jeito nenhum, sempre aparecendo a mensagem de erro: ´Não é possível exlcuir o arquivo. Não é possível ler o arquivo ou disco de origem.´.
Relembrando que ete erro só ocorre nesta situação Alguma sugestão?
Grato.
Rules
Curtidas 0
Respostas
Rules
06/02/2004
Pô, desculpem ai pesoal, eu nem goto de ficar upando tópico não ma é que erealmente eu tô precisando de ajuda urgente. Valeu.
GOSTEI 0