![]() |
probleme mit threads
hallo,
ich hab heute mit der threaddemo von lucky rumexperimentiert ( ![]() dazu hab ich einfach eine idHTTP komponente auf der form plaziert und die DoSomething(); funktion aus der unit2 wie folgt geändert:
Code:
weitere änderungen hab ich nicht vorgenommen,
procedure TMyThreads.DoSomething;
begin form1.idhttp.get('http://www.google.de'); end; wenn ich nun versuche die threads zu starten wird eine schutzverletzung ausgelöst, kann mir vielleicht jmd erklären warum |
Re: probleme mit threads
Es gibt mehrere Möglichkeiten. Die zwei wahrscheinlichsten:
...:cat:... |
Re: probleme mit threads
also ich wüßte ehrlich gesagt nicht was ich da synchronisieren sollte,
das ganze ist ja nur ein test um gleichzeitig verschiedene verbindungen aufzubauen ohne das hier großartig irgendwelche daten zwischen den methoden ausgetauscht werden und wie ich die komponente initialisieren soll weiß ich leider auch nicht |
Re: probleme mit threads
Hallo,
ich hab mich heute nun nocheinmal dran gewagt und hänge leider immer noch am selben problem fest. wenn ich die threads starte die eine Verbindung über einen idTCPClient aufbauen sollen gibt es einen Exception Error im idStack. Zitat:
mich freuen wenn es sich mal jemand anschaut. den download findet ihr ![]() für jegliche verbesserungsvorschläge wäre ich sehr dankbar mfg |
Re: probleme mit threads
Hast du dir die Fehlermeldung mal angekuckt? Wohl nicht. Deswegen hie rnoch mal:
Zitat:
|
Re: probleme mit threads
Also diese Fehlermeldung hab ich bisher noch nicht gesehen *g
bei mir taucht immer nur die Meldung "invalid argument" auf. Zitat:
Aber da hab ich wohl was falsch verstanden. Da ich wie gesagt erst eine Woche mit Delphi arbeite weiß ich ehrlich gesagt nicht wie ich eine Komponente dynamisch erzeuge.
Code:
with MainForm.IdTCPClient do
begin ... end; |
Re: probleme mit threads
Die Fehlermeldung kommt, wen nman die syntaktischen Fehler behebt und das Programm startet.
Aber als kleinen Tip: Als Anfänger sollte man nicht gerade mit so komplexen Themen beginnen. Wie wäre es mit Grundlagen? dann weißt du auch, wie man Objekte erstellt und wieder löscht. |
Re: probleme mit threads
man wächst mit seinen aufgaben ;)
davon mal abgesehn arbeite ich lieber an etwas nützlichem |
Re: probleme mit threads
Ja aber nur, wenn man sie auch bewältigen kann.
Delphi-Quellcode:
Ich bekomme allerdings einen Socket Error 10062 oder so "Connection refused" was auch immer das heißen mag. Ich kenne mich mit den Indies aber nicht sonderlich gut aus.
procedure TMyThreads.DoSomething;
var IdHTTP: TIdHTTP; s: string; sl: TStringList; begin IdHTTP := TIdHTTP.Create(nil); sl := TStringList.Create; try IdHTTP.Connect; s := IdHTTP.Get('http://www.luckie-online.de'); sl.Text := s; sl.SaveToFile('d:\test'+IntToStr(FCount)+'.html'); finally FreeAndNil(IdHTTP); FreeAndNil(sl); end; end; Aber mal so nebenbei, was wolltets du mit einer TCP Verbindung auf Port 80 bei Mircosoft? |
Re: probleme mit threads
also ich hab es nach deinem beispiel nun so geändert:
Code:
ich hoffe ich hab nichts falsch gemacht, aber es scheint zu funktionieren
uses
Classes, SysUtils, IdComponent, IdTCPConnection, IdTCPClient; ... procedure TMyThreads.DoSomething; var Loop: Integer; IdTCPClient: TIdTCPClient; begin IdTCPClient := TIdTCPClient.Create(nil); Inc(FCount); with IdTCPClient do begin Host := MainForm.edtHost.Text; Port := StrToint(MainForm.edtPort.Text); try Connect; // add a timeout here if you wish, eg: Connect(3000) = timeout after 3 seconds. Write('GET /'+#13#10); finally FreeAndNil(IdTCPClient); end; Synchronize(UpdateLVCaption); end; end; danke für deine hilfe :dance: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 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