hmm also ich hab nun folgendes versucht:
ersteinmal das onwork event zuweisen und
den den stream starten:
Delphi-Quellcode:
IdHTTP.OnWork:= HTTPWork;
IdHTTP.Get('http://81.167.88.3:8000', FS);
anschließend den stream in einen string kopieren,
was allerdings nicht richtig funktioniert, irgendwie landet da
nur müll drin. zusätzlich hab ich noch eine abbruchbedingung
die den stream nach einer weile beendet, das ganze landet
dann in einer datei. wenn ich die datei öffne wird der
string den ich im stream finden will auch gefunden.
klappt nur leider nicht im onwork event.
eine idee was ich falsch mache?
Delphi-Quellcode:
procedure TMyThreads.HTTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
var Buffer, Stream: String; N: Integer;
begin
N:= 0;
N:= IdHTTP.Response.ContentStream.Size;
SetLength(Buffer, N);
IdHTTP.Response.ContentStream.Read(Buffer[1], N);
Stream:= copy(Buffer, 1, MaxInt);
if SmartPos('StreamTitle=', Stream, False, 1, True) > 0 then
IdHTTP.Disconnect;
if AWorkCount >= 200*1024 then
IdHTTP.Disconnect;
end;
SmartPos ist übrigens nur eine schnellere variante
der pos() methode, an der liegts nicht