AGB  ·  Datenschutz  ·  Impressum  







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

Exception bei Thread-Verwendung

Ein Thema von ManuMF · begonnen am 14. Jun 2007 · letzter Beitrag vom 19. Jun 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Exception bei Thread-Verwendung

  Alt 14. Jun 2007, 17:06
Hallo,

da der IdHTTP mein Programm bei "normaler" Verwendung einfriert, möchte ich dafür einen Thread verwenden.
Da ich mich nicht so gut damit auskenne, habe ich die Komponente TIdThreadComponent genommen. Wenn ich jetzt aber mein Programm beende, nachdem der Thread mal gestartet wurde, kommt folgende Exception:
Code:
---------------------------
Anwendungsfehler
---------------------------
Exception EOSError in Modul UploadTool.exe bei 0000E096.

Systemfehler. Code: 1400.

Ungültiges Fensterhandle.

---------------------------
OK  
---------------------------
woran könnte das liegen? Wenn ich die Prozedur, die im Thread aufgerufen wird, normal aufrufe, ist der Fehler verschwunden.

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Exception bei Thread-Verwendung

  Alt 14. Jun 2007, 17:08
Ist TIdAntiFreeze nichts für dich?
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Exception bei Thread-Verwendung

  Alt 14. Jun 2007, 17:13
Schon, wenn es was bringen würde...

Wenn man mehr machen muss, als es bloß aufs Formular zu klatschen, bin ich noch nicht dahintergekommen

Application.ProcessMessages im IdHTTP.onWork läuft zwar, aber das kommt nur so einmal pro Sekunde.
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 00:11
Du musste es noch irgendwie auf activ stellen, und dem http sagen, er soll es benutzten - wenn ich mich recht erinnere
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 13:00
Ersteres war eine meiner ersten Aktionen nach dem Platzieren auf dem formular. Letzteres, also wie ich das mit dem IdHTTP verbinde, habe ich aber nicht rausgefunden. Auch die Indy-Hilfe war nicht hilfreich.
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 13:58
Vielleicht solltest Du die HTTP-Komponente in einen Thread auslagern...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 14:40
Zitat von alzaimar:
Vielleicht solltest Du die HTTP-Komponente in einen Thread auslagern...
Was genau? Das Erstellen etc. der Komponente?
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 15:45
Nee, die gesamte Kommunikation. Also, so (ohne die Komponente zu kennen)

Delphi-Quellcode:
Procedure TMyThread.Execute;
Var
  cHttp : THTTPClient;

Begin
  cHtttp := THTTPClient.Create (Nil);
  Try
    SetupCommunicationParameter (cHttp);
    cHttp.SendRequest;
    cHttp.ReceiveAnswer;
  Finally
    cHtt.Free;
  End
End;
Natürlich ist das nur Pseudocode
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#9

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 17:56
Momentan habe ich die Komponente auf dem Formular sitzen.
Im Thread wird neben der Vorbereitung (laden der Datei in einen Stream, anzeigen des Dateinamens etc.) nur
IdHTTP.Post(Stream, URL); ausgeführt (mehr braucht die Kompo nicht). Kann es da helfen, das Create & Co. mit in den Thread zu nehmen?
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Exception bei Thread-Verwendung

  Alt 15. Jun 2007, 18:22
Hi,
Du solltest die Komponente nach Möglichkeit dynamisch innerhalb des Threads erstellen.
Oder du realisierst sämtliche Zugriffe auf die Komponente per Syncronize.

Ersteres ist IMO zu bevorzugen.
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 11:56 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