Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Variablenübergabe Createthread verständnisproblem

  Alt 19. Jan 2008, 23:44
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.
  Mit Zitat antworten Zitat