Zitat von
TheGame1492:
und mit BeginThread schreibt der nur kompletten wirrwarr
Zitat von
sirius:
(Achtung: Dann nicht mehr stdcall).
Edit:
In deinem Fall würde ich dann doch zur Klasse TThread greifen. Da hast du dann gleich eine Klasse, in der du den String unterbringen kannst.
Delphi-Quellcode:
type TWriteFile=class(TThread)
constructor create(s:string);
protected
procedure execute; override;
private
Fs:String;
end;
....
constructor TWritefile.create(s:string);
begin
Fs:=s;
Freeonterminate:=true;
inherited create(false);
end;
procedure TWritefile.execute;
begin
//Hier jetzt entweder mit CriticalSection oder mit synchronize in Datei schreiben
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
...
TWriteFile.create(s);
...
end;
Andere Möglichkeit (ohne TThread) wäre, du assoziierst dir Speicher und übergibst den Pointer darauf und gibst den Speicher im Thread frei.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.