Autor Beitrag
ThugMasta
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 22.01.08 15:40 
Hier erstmal mein Code
ausblenden C#-Quelltext
1:
2:
WebClient webclt = new WebClient();
webclt.DownloadFile("http://..../hoarc/archiv/bilder/" + ordner1 + "/" + ordner2 + "/" + suchwort, "C:\\temp\\archiv");

Der download funktioniert auch, aber das Probleme ist das es nur ein mal geht beim zweiten aufruf nicht mehr, der Debugger meldet einfach eine WebExeption. An was könnte das liegen?
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 22.01.08 15:50 
Ins Blaue geraten:
webclt wird nach Verwendung nicht freigegeben?

Zeig doch mal ein Bisschen vom Code aussen herum. Dann kann dir sicher besser geholfen werden.

_________________
Delphi: XE - OS: Windows 7 Professional x64
ThugMasta Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 22.01.08 16:25 
Ich glaube du hast recht das war auch meine erste Vermutung deswegen hab ich mal versucht webclt.Dispose() aufzurufen was auch nicht geholfen hat. Mir ist auch gerade aufgefallen das es funktioniert wenn ich das programm anderstweitig benutze zb. einfach ein bild im netzwerk suche und dann wieder versuche aus dem internet ein bild runterzuladen. Hier mal ein bischen mehr Code:
hier die Methode (Der Debugger meldet den Fehler in Zeile 9)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
public static void archivsuche(string suchwort) 
{
string ordner1 = suchwort.ToString().Remove(0, suchwort.ToString().Length - 1);

string zwi = suchwort.ToString().Remove(0, suchwort.ToString().Length - 3);
string ordner2 = zwi.Remove(21).PadLeft(2'0');

WebClient webclt = new WebClient();
webclt.DownloadFile("http://..../hoarc/archiv/bilder/" + ordner1 + "/" + ordner2 + "/" + suchwort, "C:\\temp\\archiv");
}

und so ruf ich die Methode auf
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
if (cb_archiv.Checked)
{
try
{
Suche.archivsuche(tb_suchwort.Text.ToString());
pictureBox1.Image = Bitmap.FromFile("C:\\temp\\archiv");
}
catch (Exception)
{
lb_ergebnisse.Items.Clear();
lb_ergebnisse.Items.Add("Keine Datei gefunden");
}
}
ThugMasta Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 22.01.08 16:47 
Ok ich habs, mann muss den GarbageCollector anstossen das hatte ich zwar schon probiert aber immer nach dem download es muss davor sein also:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public static void archivsuche(string suchwort) 
{
            
            string ordner1 = suchwort.ToString().Remove(0, suchwort.ToString().Length - 1);

            string zwi = suchwort.ToString().Remove(0, suchwort.ToString().Length - 3);
            string ordner2 = zwi.Remove(21).PadLeft(2'0');

            GC.Collect();
            WebClient webclt = new WebClient();
            webclt.DownloadFile("http://..../hoarc/archiv/bilder/" + ordner1 + "/" + ordner2 + "/" + suchwort, "C:\\temp\\archiv");
        }
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 22.01.08 17:14 
Das kann nicht die Lösung sein. Ein using-Block um die Instanz herum sollte normalerweise genauso gut funktionieren.