Die Beispiele werden doch sehr gut erklärt. In fast jeder Zeile sind Kommentare über den Prozess, der gerade abläuft. Aber mir ist gerade aufgefallen, was du mit deiner Frage wirklich meintest. Ich bin auch noch dabei, den Buffer-Inhalt in einen MemoryStream oder Ähnlichen zu speichern anstelle eines FileStreams. Habe mal im Bass-Forum n Thread gepostet. Sage dir bescheid, wenn ich ne Antwort gefunden habe.
Zum Thread:
Delphi-Quellcode:
type
TParameter =
packed record
Text:
String[63];
// muss ein definierter String sein
end;
PParameter = ^TParameter;
function Thread(Ptr:Pointer): Integer;
var URL:
String;
begin
URL:=String(PParameter(Ptr)^.Text);
// hier Code für den Thread einfügen
end;
procedure StartThread;
var ThreadId:Cardinal; Parameter:PParameter;
begin
GetMem(Parameter,SizeOf(TParameter));
Parameter.Text:=Edit1.Text;
// Edit1.Text = (hier:) eine URL
BeginThread(
nil,0,@Thread,Parameter,0,ThreadId);
end;
Das ist jetzt nur ein Beispiel für nen String. Geht natürlich auch mit mehreren Parametern unterschiedlicher Typen. Dafür musste einfach den Record erweitern und im "Thread" z.B. Integer(PParameter(Ptr)^.Value) schreiben.