![]() |
IdHTTP im Thread
Hallo ich habe wieder mal ein kleines Thread Thema, dachte mittlerweile habe ich Threads unter Kontrolle.
Delphi-Quellcode:
das läuft im Execute des threads im Interval von 5 Sekunden ... im IdHTTP.Head bekomme ich immer wieder mal Exceptions
IdHTTP := TIdHTTP.Create;
try c := GetTickCount; IdHTTP.Head('http://www.myside.com/startseite/'); if IdHTTP.ResponseCode <> 200 then Status := 0; except on e : Exception do begin Status := 0; end; end; IdHTTP.Free; Die Exception kommt dann immmer im
Delphi-Quellcode:
Im Hauptthread habe ich noch ein IsMultiThread := TRUE ... auch wenn ich das theoretisch nicht brauchen sollte wenn ich TThread verwende ...
procedure TIdBuffer.Write(const ABytes: TIdBytes; const ALength, AOffset : Integer;
const ADestIndex: Integer = -1); var LByteLength: Integer; LIndex : Integer; begin LByteLength := IndyLength(ABytes, ALength, AOffset); if LByteLength = 0 then begin Exit; end; LIndex := IndyMax(ADestIndex, 0); CheckAdd(LByteLength, LIndex); if Size = 0 then begin FHeadIndex := 0; if ADestIndex < 0 then begin FBytes := ToBytes(ABytes, LByteLength, AOffset); << Hier Exception FSize := LByteLength; end else Verwende Delpho2007 und müsste Indy 10.6.2 sein (ISt sicher nicht die akutellste ... aber sollte ja trotzdem so was einfaches funken) Glaube ich habe noch irgend einen ganz primitiven Denkfehler ... Kann mir noch wer nen Tipp geben? |
AW: IdHTTP im Thread
Hmmmm ...
Also gerade noch was probiert wenn ich meine EXE starte dann kommt zwischen 10-30 sekunden die exception. Nun habe ich mal einfach auf verdacht den FastMM4 Memory Manager eingebunden - nun läuft die Exe - sonst alles absolut gleich gelassen schon über 15 Minuten ... Hat wer eine Idee warum das der Fall ist? |
AW: IdHTTP im Thread
Die Exception, das mysteriöse Wesen. Kannst du sagen was für eine, mit welcher Nachricht? Hast du ein Mini-Projekt zum Nachstellen?
|
AW: IdHTTP im Thread
Zitat:
Code:
Aber wie gesagt mit dem FastMM4 läuft die Exe nun seit über eine Stunde Fehlerfrei!
---------------------------
Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Test.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00401B6D in Modul 'Test.exe'. Lesen von Adresse 00000064' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- Es sieht so richtig aus wie damals vor 15 Jahren als ich mal meine erste Multithread geschrieben hatte mit Delphi 6 damals, und vergas das MultiThread auf TRUE zu setzen ... also mittendrinn komische Exceptions ... Jetzt tritts dann auch auf wenn ich per SQL in die DB schreibe, wobei ich genau eine Datenbank verbindung verwende die ich aber mit einer CriticalSection absichere ... da kommt dann auch die Exception mitten drinnen .. aber eben auch dort wo es mit dem Speicher was zu tun hat. |
AW: IdHTTP im Thread
Ich kann nicht helfen. Aber ich glaube eher, dass es weniger an IdHTTP liegt.
Oder aber diese 5 Sekunden sind einfach zu kurz. |
AW: IdHTTP im Thread
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz