Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
UrlDownloadFile Hatası
#1
Merhaba arkadaşlar.

Uygulamam da urldownloadfile fonksiyonu ile http://www.xxx.xxx/ali.txt gibi bi url den yerele dosya aktarıp işlem yaptırtıyorum. 

Fonsyion Win10 ve üstünde sorunsuz çalışırken, Win8 ve Win7 de çalışmıyor.. hiç bir şekilde o url ye gitmiyor. 

Başına gelen veya çözümü bilen var mı dır? Ortak kullandığım Fonksiyonum aşağıdaki gibidir.


function DownloadFile(sourcefile, destfile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, pchar(sourcefile), pchar(destfile), 0, nil) = 0;
  except
    Result := False;
  end;
end;
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#2
(11-02-2024, Saat: 20:28)mcuyan Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar.

Uygulamam da urldownloadfile fonksiyonu ile http://www.xxx.xxx/ali.txt gibi bi url den yerele dosya aktarıp işlem yaptırtıyorum. 

Fonsyion Win10 ve üstünde sorunsuz çalışırken, Win8 ve Win7 de çalışmıyor.. hiç bir şekilde o url ye gitmiyor. 

Başına gelen veya çözümü bilen var mı dır? Ortak kullandığım Fonksiyonum aşağıdaki gibidir.


function DownloadFile(sourcefile, destfile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, pchar(sourcefile), pchar(destfile), 0, nil) = 0;
  except
    Result := False;
  end;
end;

Bu UrlDownloadToFile UrlMon.pas içindeki bildiğimiz API ise, onun dönüş değerini hatalı kontrol ettiğinizi görüyorum. Aşağıdaki link'ten dönüş ile ilgili değerleri kontrol ederek işlem yapmanızı tavsiye ederim. Geriye dönen HRESULT değeri S_OK'dan farklı ise, gelen değeri internette aratıp nokta atışı hatayı tespit edebilirsiniz.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
Ben bu fonksiyonu yazdım ve dosya almak ve kaydetmek için kullanıyorum.



procedure TfrmDataModule.LoadFileFromURL(FileName: String; url: string);
var
 http : TNetHTTPClient;
 vStream : TMemoryStream;
begin
 try
   try
     http := TNetHTTPClient.Create(nil);
     vStream :=  TMemoryStream.Create;

     if (Pos('https', LowerCase(url)) > 0) then
           HTTP.SecureProtocols  := [THTTPSecureProtocol.TLS1,
                                     THTTPSecureProtocol.TLS11,
                                     THTTPSecureProtocol.TLS12];
     http.Get(url, vStream);
     vStream.Position  :=  0;

     vStream.SaveToFile(FileName);
   except
   end;
 finally
     vStream.DisposeOf;
     http.DisposeOf;
 end;
end;
WWW
Cevapla
#4
Teşekkürler..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#5
Bu apinin ansi ve unicode olanı var ikisini de denediniz mi?
URLDownloadToFileA
URLDownloadToFileW
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#6
Denemdim de.. mantik olarak ne farkı olabilir ki hocam.?
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#7
Ansi kullanımda belirli karakterlerlerde sorun olabilir.
Mesela dosya yolunda özel bir karakter kullanılıyorsa.
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#8
yok hocam. tamamen ing karakter seti. özel yada tr karakterler yok hiç..
// Bilgi paylaştıkça çoğalır.. 

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  matematiksel karşılaştırma hatası nevzatc 7 533 14-04-2026, Saat: 06:36
Son Yorum: emailx45
  Delphi ile SQL server bağlantı hatası yakalama Under 20 2.049 21-11-2025, Saat: 15:24
Son Yorum: mrmarman
  OpenSSL Hatası mcuyan 1 503 29-04-2025, Saat: 02:28
Son Yorum: mcuyan
Photo Delphi 12.2ilginç bir ide hatası tuna 13 3.393 25-03-2025, Saat: 09:47
Son Yorum: tuna
  Delphi Ide hatası Bay_Y 6 1.251 04-02-2025, Saat: 10:56
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi