Entwickler-Ecke

Internet / Netzwerk - Datei-Download - Programm stürzt ab...


Jan1 - Do 07.09.06 10:50
Titel: Datei-Download - Programm stürzt ab...
Heyho,
ich habe ein kleines Problem mit einem Download-Programm. Das Programm lädt in einer Schleife bestimmte Seiten aus dem Internet und wertet diese aus.

Der Download klappt wunderbar und auch meine Statusbar funktioniert, nur wenn ich das Programm in der Hintergrund schiebe (also, während der Download läuft) oder auf minimieren klicke, schmiert das Programm ab.

Ich muss dazu sagen, dass ich eine Delphi Anfänger bin, zwar schon vieles hinbekomme, aber mit hier wahrscheinlich grundsätzliche Infos fehlen.

Anti-Freeze habe ich eingestellt:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
  Application.ProcessMessages;
end;


Wenn ihr noch mehr Code braucht, sagt Bescheid...

Vielen Dank, Jan

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


Jan1 - Do 07.09.06 12:22

So. Ich habe mehr herausgefunden. Es liegt nicht an dem Download-Abschnitt, sondern an dem nachfolgenden Abschnitt in dem er die Infos aus den Dateien in eine ini schreiben soll...

Sprich: Das Programm durchläuft eine Schleife:


Delphi-Quelltext
1:
for I := 1 to anzahl  do                    


In dieser Schleife schreibt er in eine INI, minimiere ich hier das Programm - stürzt es ab. Was gibt es hinsichtlich ini in dieser Hinsicht zu beachten?

Gruß Jan

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


Jan1 - Do 07.09.06 12:31

Und noch einmal geforscht, folgender Teil meines Programms ist fehlerhaft:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
            try
              if statcheck='1' then
                begin
                  users.WriteString(number,'p1',pstring);
                  users.WriteInteger(number,'w1',w);
                  //users.WriteInteger(number,'var1',l);
                  config.WriteString('scan','onstat','2');
                end;
              if statcheck='2' then
                begin
                  users.WriteString(number,'p2',pstring);
                  users.WriteInteger(number,'w2',w);
                  //users.WriteInteger(number,'var2',l);
                  config.WriteString('scan','onstat','1');
                end;
            except
              ShowMessage('Beim Schreiben in die INI Datei trat ein Fehler auf');
            end;


Wie gesagt: Beim minimieren oder generell wenn das Programm nicht mehr im Vordergrund ist, schmiert es hier ab...

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


Jakob Schöttl - Do 07.09.06 13:59

Ist der Fehler sicher in diesem teil? Das ist seltsam! Was heißt denn "es schmiert ab"? Kommt eine Zugriffsverletzung oder eine andere Exception? Oder Reagiert es nicht mehr?

Was ist denn StateCheck? eine Funktion?, wenn ja, vllt ruft sie sich rekursiv auf?


Jan1 - Do 07.09.06 14:14

user profile iconbokaj hat folgendes geschrieben:
Ist der Fehler sicher in diesem teil? Das ist seltsam! Was heißt denn "es schmiert ab"? Kommt eine Zugriffsverletzung oder eine andere Exception? Oder Reagiert es nicht mehr?

Was ist denn StateCheck? eine Funktion?, wenn ja, vllt ruft sie sich rekursiv auf?


1. Also er zeigt die Except Message: "Beim Schreiben in die INI Datei trat ein Fehler auf"

2. statecheck ist eine variable, die entweder den Wert 1 oder 2 hat

3. Es gibt bestimmt eine weitere Exception Meldung. Aber wie lasse ich die mir anzeigen?

Gruß Jan


Jan1 - Do 07.09.06 14:18

Was ich noch ergänzen wollte: Der Witz ist doch der, dass der Code funzt. Solange ich das Programm halt machen lasse. Sobald ich halt minimiere oder sonst was machen will -> Absturz und Fehlermeldung.


Jakob Schöttl - Do 07.09.06 14:23

Des is komisch...
:?
kann ich mir nicht erklären?!


Jan1 - So 10.09.06 16:50

Keiner der helfen kann?


Born-to-Frag - So 10.09.06 17:48

Lad halt mal das Projekt hoch wenn es nicht zu groß ist...