Hallo,
ich habe amgefangen einen Netzwerkchat zu programmieren, und bin zu der Erkenntnis gekommen, dass ich threads brauche.
Da ich mich mit threads nicht auskenne, funktioniert folgender Code nicht;
Delphi-Quellcode:
unit thread;
interface
uses
Classes;
type
mythread =
class(TThread)
private
{ Private-Deklarationen }
protected
procedure Execute;
override;
constructor create;
public
procedure lesen;
// lesen soll später nachrichten aus einer tcp connection lesen
end;
implementation
{ Wichtig: Methoden und Eigenschaften von Objekten in visuellen Komponenten dürfen
nur in einer Methode namens Synchronize aufgerufen werden, z.B.
Synchronize(UpdateCaption);
und UpdateCaption könnte folgendermaßen aussehen:
procedure mythread.UpdateCaption;
begin
Form1.Caption := 'Aktualisiert in einem Thread';
end; }
{ mythread }
constructor mythread.create;
begin
inherited create(false);
end;
procedure mythread.lesen;
var test:
string;
begin
test := client.readln;
//client ist ein tcpclient auf der form, wo ich den thread verwenden will
memo1.lines.add(test);
//memo1 ist ein memo auf der form wo ich den thread verwenden will
end;
procedure mythread.Execute;
begin
{ Thread-Code hier einfügen }
lesen;
end;
end.
Also,
der client ist nicht bekannt, wie muss ich das machen
gleiches gilt für memo1
Gruß
Spurius