Jak odblokować proces?

0

Witam

Na podstawie tego tematu zrobiłem wyszukiwanie plików. Wszystko działa ok do chwili, kiedy chcę przenieść folder. Podczas tej czynności program wywala błąd blokowania dostępu do pliku/folderu.

Jak to obejść lub zlikwidować?

0

"Jak to obejść lub zlikwidować?" - Usuń kod który powoduje błąd!

Życzę powodzenia!!!

0
payl napisał(a)

Życzę powodzenia!!!

To mi pomogłeś, serdeczne dzięki.

0

na początek wklej swoje wypociny tutaj, bo nie posługujemy się tarotem ani kryształową kulą, tylko tym co napiszesz.
skoro kod powoduje problem to znaczy że coś zjjj... (czegoś nie dopatrzyłeś) kryształowa kula mówi mi, że nie zwolniłeś klasy wyszukiwanie po zakończeniu, ale pÓÓÓÓki nie prześlesz tego kodu nie będę mógł Ci pomóc.
Pozdrawiam: Pingvin

0

use try/except luck

0

To mi pomogłeś, serdeczne dzięki.

Mój tekst miał doprowadzić do GENIALNEGO wniosku: Może pokaże im kod jaki mam?!

2

Jeżeli oczekujesz, że ktoś poświęci czas na to, żeby Ci odpowiedzieć/udzielić wskazówki, to poświęć najpierw ty swój czas i opisz wyczerpująco swój problem (tu: wklej fragment kodu). Wiele już ludzi przed tobą postępowało tak samo, dlatego osoby często udzielające się na forum są już tym zmęczone i dlatego właśnie takie odpowiedzi się tutaj pojawiają. Amen.

0

OK, burę przyjmuję z pokorą. Wydawało mi się, że link podany w pierwszym poście wystarczy.

procedure TForm1.szukaj_plik;
var
   i : integer ;
   Icon : TIcon ;
   SearchRec : TSearchRec ;
   ListItem : TListItem ;
   FileInfo : SHFILEINFO ;
   sPath, katalog_dok, prefiks, imie, dirName : string;
begin
  INI := TINIFile.Create(ExtractFilePath(Application.ExeName) + 'setup.ini');
  try
    katalog_dok := INI.ReadString('inne', 'kat_dok', '');
    prefiks := INI.ReadString('inne', 'pref', '');
  finally
    INI.Free;
  end;

// wyszukanie katalogu osoby
  nazwisko := Form1.ZQuery1.FieldByName('nazwisko').AsString;
  imie := Form1.ZQuery1.FieldByName('imie').AsString;
  nr_op := StringReplace(ZQ4.FieldByName('op').AsString, '/', '_', [rfReplaceAll, rfIgnoreCase]);
  dirName := katalog_dok + nazwisko+' '+imie+' '+prefiks+'-'+nr_op+'\';
  sPath :=  dirName;

   ListView1.Columns.Clear;
   ListView1.Items.Clear;
   ListView1.SmallImages := ImageList1 ;
   ListView1.ViewStyle := vsReport ;
   ListView1.Columns.Add ;
   ListView1.Columns.Add ;
   Icon := TIcon.Create ;
   try
     ListView1.Items.BeginUpdate ;
     i := FindFirst ( sPath + '*.*', faAnyFile, SearchRec ) ;
     while i = 0 do
       begin
         application.ProcessMessages ;
         with ListView1 do
         begin
         if ( ( SearchRec.Attr and FaDirectory <> FaDirectory ) and ( SearchRec.Attr and FaVolumeId <> FaVolumeID ) ) then
         begin
           ListItem := ListView1.Items.add ;
           SHGetFileInfo ( PChar ( sPath + SearchRec.Name ) , 0 , FileInfo , SizeOf ( FileInfo ) , SHGFI_DISPLAYNAME ) ;
           Listitem.Caption := FileInfo.szDisplayName ;
           SHGetFileInfo ( PChar ( sPath + SearchRec.Name ) , 0 , FileInfo , SizeOf ( FileInfo ) , SHGFI_TYPENAME ) ;
           ListItem.SubItems.Add ( FileInfo.szTypeName ) ;
           SHGetFileInfo ( PChar ( sPath + SearchRec.Name ) , 0 , FileInfo , SizeOf ( FileInfo ) , SHGFI_ICON ) ;
           Icon.Handle := FileInfo.hIcon ;
           ListItem.ImageIndex := ImageList1.AddIcon ( Icon ) ;
         end ;
       end ;
       i := FindNext ( SearchRec ) ;
     end ;
   finally
     ListView1.items.EndUpdate ;
     Icon.Free ;
   end ;
  ListView1.Column[0].Width := 250;
  ListView1.Column[0].Caption := 'Nazwa pliku';
  ListView1.Column[1].Width := 150;
  ListView1.Column[1].Caption := 'Typ pliku';
end;

Myślę, że ten kod generuje mój błąd.

Pozdrawiam

0

1.Temat wprowadza w błąd.
2.słyszałeś o czymś takim jak debugowanie i naprawianie SAMEMU swojego programu? Ale Ty wolisz nam podać kod (i to i tak po męczarniach), a nawet błędu nie podasz?

Skoro nie działa to kod ma błąd, dodaj jakieś debugi (np. wyświetlanie pathów zanim ładuje) i spróbuj poprawić kod, żeby path wskazywał na dobry plik. A jak dalej będziesz mieć z tym problemy, to daj nam może co generuje program? Myślisz że mamy Twój projekt i możemy go uruchomić?

A tak z troche innej bajki, wygląda na to że parametry (SHGFI_*) możesz łączyć za pomocą OR i pobierać wszystko naraz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1