AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTP im Thread

Ein Thema von Gruber_Hans_12345 · begonnen am 14. Okt 2016 · letzter Beitrag vom 15. Okt 2016
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

IdHTTP im Thread

  Alt 14. Okt 2016, 20:13
Hallo ich habe wieder mal ein kleines Thread Thema, dachte mittlerweile habe ich Threads unter Kontrolle.

Delphi-Quellcode:
        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;
das läuft im Execute des threads im Interval von 5 Sekunden ... im IdHTTP.Head bekomme ich immer wieder mal Exceptions

Die Exception kommt dann immmer im

Delphi-Quellcode:
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
Im Hauptthread habe ich noch ein IsMultiThread := TRUE ... auch wenn ich das theoretisch nicht brauchen sollte wenn ich TThread verwende ...

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?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#2

AW: IdHTTP im Thread

  Alt 15. Okt 2016, 09:35
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?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.157 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: IdHTTP im Thread

  Alt 15. Okt 2016, 10:58
Die Exception, das mysteriöse Wesen. Kannst du sagen was für eine, mit welcher Nachricht? Hast du ein Mini-Projekt zum Nachstellen?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#4

AW: IdHTTP im Thread

  Alt 15. Okt 2016, 11:09
Die Exception, das mysteriöse Wesen. Kannst du sagen was für eine, mit welcher Nachricht? Hast du ein Mini-Projekt zum Nachstellen?
Folgende
Code:
---------------------------
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  
---------------------------
Aber wie gesagt mit dem FastMM4 läuft die Exe nun seit über eine Stunde Fehlerfrei!

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.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#5

AW: IdHTTP im Thread

  Alt 15. Okt 2016, 12:12
Ich kann nicht helfen. Aber ich glaube eher, dass es weniger an IdHTTP liegt.
Oder aber diese 5 Sekunden sind einfach zu kurz.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#6

AW: IdHTTP im Thread

  Alt 15. Okt 2016, 12:31
Ich kann nicht helfen. Aber ich glaube eher, dass es weniger an IdHTTP liegt.
Oder aber diese 5 Sekunden sind einfach zu kurz.
ich glaub auch nicht das es am IdHTTP liegt, aber die 5 sekunden sollten nicht das problem sein, da es in einem Thread läuft und dieser Thread dann eben ein sleep von 5 sekunden hat ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz