Hi Mädels ....
also ich hab n Prog geschrieben, das mir
1. per DosCommand eine IP ermittelt und ni einer Listbox speichert und
2. per IDHTTP auf einer Seite im Internet eine Seite ausliesst und ich mir einen Teil davon nehme.
Das Programm ansich, funktioniert, wie ich das will, nur hab ich das Problem , dass nach einer variablen Zeit (machmal nach 3 Sekunden, manchmal nach 120 Sekunden) immer ein Fehler auftritt der wie folgt lautet:
| Zitat: |
"Im Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 004023AC in Modul 'Project1.exe'. Lesen von Adresse 018FC548'. Prozess wurde angehalten. Mit einzelne Anweisung auf Start fortsetzen."
|
Hier noch mein Quellcode dazu:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55:
| procedure TForm1.Timer1Timer(Sender: TObject); var i:integer; begin Doscommand1.CommandLine := 'netstat -n'; DosCommand1.Execute; For i:=1 To ip_listbox.Items.Count -1 DO Begin ipstring:=ip_listbox.Items.Strings[i]; If pos('4000', ipstring) <> 0 then Begin ip1:=pos('213.248.106.', ipstring); ip2:=pos(':4000', ipstring); ip:= ( copy (ipstring,ip1+12,ip2-ip1-12)); End; end; If ip1=0 Then Begin ip_edit.Text:='Spiel öffnen!'; timer3.Enabled:=false; sek:=0; min:=0; std:=0; zeit_edit.Text:='00:00:00'; end ELse Begin ip_edit.Text:='ServerIP: '+ ip; timer3.Enabled:=true; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin Doscommand1.OutputLines := ip_listbox.Items; u:=1; sek:=0; min:=0; std:=0; webstring:=IdHTTP1.Get('***********************'); u:=u+1; hotposi := pos('active', webstring); If hotposi = 0 Then Begin hotIP_edit.text := 'Keine HOT IP ';
end Else Begin hotposi1:=hotposi+23; hotposi2:=hotposi+26; teilstring:= copy(webstring,hotposi + 23, (hotposi2 - hotposi1)); If TryStrTOint(teilstring, zahlstring) = true Then hotip_edit.Text:= 'WARM IP: '+ teilstring; end; end; |
Ist das sowas wie n Speicherüberlauf der da ensteht?
Sacht mir ma bitte wie ich das lösen kann
THX!
Sleipnir
Moderiert von
Tino: Topic aus VCL (Visual Component Library) verschoben am Do 13.10.2005 um 07:11
EDIT: Jetzt läuft das Programm seit ca 10 Minuten ohne ein Problem ... als der Fehler auftrat, lief mein Rechner seit 28 Tagen ohne Neustart. Aber dadurch kann doch solch ein Fehler nicht auftreten oder ??