Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
DeleteFile Sorunu
#1
Merhaba, 
Bir projede DeleteFile(dosyaadi)  kullanıyorum, bu komut çalıştıktan sonra çalıştırdığım tüm thread ' ler donuyor ve bilgisayarımı kilitliyor, fişini çekmek suretiyle yeniden açmak zorunda kalıyorum.

deletefile komutunu thread içinde ve dışında denedim, eğer thread çalışmadan önce deletefile çalışmışsa thread kilitleniyor, 
her seferinde aynı problem.

Sizce sorun ne olabilir ?
Cevapla
#2
acaba silmeye çalıştığınız folder'da yetkilendirme de sorun olabilir mi? mesela win10 da C anadizine erişimde sorun yaşarsınız. uygulamayı yönetici olarak çalıştırıp bir denermisiniz.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
DeleteFile komutu geçiyor. Antivirüs ile alakalı olabilir mi? Bir ara DeleteFile komutu ile bir kaç dosya silince antivirüs uygulamamı silmişti.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#4
(04-01-2021, Saat: 10:58)ermanispir@gmail.com Adlı Kullanıcıdan Alıntı: Merhaba, 
Bir projede DeleteFile(dosyaadi)  kullanıyorum, bu komut çalıştıktan sonra çalıştırdığım tüm thread ' ler donuyor ve bilgisayarımı kilitliyor, fişini çekmek suretiyle yeniden açmak zorunda kalıyorum.

deletefile komutunu thread içinde ve dışında denedim, eğer thread çalışmadan önce deletefile çalışmışsa thread kilitleniyor, 
her seferinde aynı problem.

Sizce sorun ne olabilir ?


uses
ShellApi
...
function DeleteFile(FileName: String): Boolean;
begin
 try
  ShellExecute(handle, 'open', 'cmd.exe', pChar('/c cd "'+ ExtractFilePath(FileName) + '"&&del ' + ExtractFileName(FileName)) nil, sw_hide);
  Result := True;
 except
  Result := False; 
 end;
end;

Tamamı ile formun kod editörü ile yazdım. O yüzden hatalar olabilir. /c'ye gerek var mı bilmiyorum ama bazen cmd.exe komutu almak için bu parametreye ihtiyaç duyuyor. DeleteFile olarak bunu kullanabilirsiniz. Hatta isterseniz (*.txt) şeklinde masklar ile direkt silme işlemi yapabilirsiniz. Bunu kullanıp test edin veya sizin kullandığınız fonksiyonu Thread içinde TThread.Synchronize şeklinde çağırarak kullanınız. Tabi bu bir olasılık reel çözüm olmayadabilir.

Kodda hata olabilir tekrar hatırlatayım çünkü Delphi kurulu bir bilgisayarda değilim...
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
Cevapla
#5
Herkese cevapları için teşekkürler, buradaki söylenilen her yöntemi denedim lakin sonuç hep aynı, thread'in shellapi ile kişisel bir sorunu olduğunu düşünüyorum artık, shellapi yi eğer kullanmışsam thread kilitleniyor, hatta bilgisayarımı kilitliyor.
Cevapla
#6
Merhaba ,
Thread içinden kullanımda ShellExecute ve ShellExecuteEx kullanımı öncesi CoInitializeEx in uygun şekilde çağrılması gerekir diyor bu makalede https://stackoverflow.com/questions/4310...ead-delphi inceleyip denemenizi öneririm.
Cevapla
#7
(07-01-2021, Saat: 13:43)vkamadan Adlı Kullanıcıdan Alıntı: Merhaba ,
Thread içinden kullanımda ShellExecute ve ShellExecuteEx  kullanımı öncesi CoInitializeEx in uygun şekilde çağrılması gerekir diyor bu makalede https://stackoverflow.com/questions/4310...ead-delphi inceleyip denemenizi öneririm.

evet usta , inşallah erken konuşmuyorumdur ama sanırım oldu Smile
Teşekkürler.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Filtreleme Yavaşlığı Sorunu bünyamin68 10 495 31-12-2020, Saat: 12:59
Son Yorum: bünyamin68
Wink Exe -> Exe -> DLL -> WEB SQL Sorunu ... Gürcan 4 283 24-12-2020, Saat: 12:31
Son Yorum: Gürcan
  Çözünürlük sorunu klavye 17 6.967 23-12-2020, Saat: 08:44
Son Yorum: emozgun
  Sendkeys ile i sorunu denem3 2 187 19-12-2020, Saat: 04:34
Son Yorum: denem3
  StringList Yavaşlığı ve Güncelleme Sorunu bnyamin86 2 273 11-11-2020, Saat: 11:27
Son Yorum: ozcanm



Konuyu Okuyanlar: 1 Ziyaretçi