vielleicht sind die ganzen TCriticalsection mein Problem....
Maches zur Zeit so ...
Delphi-Quellcode:
TMeinThread1 = class(TThread)
private
cs : TCriticalsection;
public
Procedure IrgendEine(str : string);
end;
TMeinThread1.IrgendEine(str : string);
begin
cs.enter
try
flist.add(str); //<- TStringList;
finally
cs.leave;
end;
end;
TMeinThread2 = class(TThread)
private
meinthread1 : TMeinThread1;
cs : TCriticalsection;
fOnProcedure : TProcedure;
public
Procedure IrgendEine;
Property OnProcedure : TProcedure read fOnProcedure write fOnProcedure;
Property MeinThread1 : TMeinThread1 read meinthread1;
end;
TMeinThread2.IrgendEine;
begin
//mach was
synchronize(fOnProcedure);
//mach noch was
end;
//Main
//...
fMeinThread2.onProcedure := onMeineProcedure;
//...
TFrmMain.OnMeineProcedure;
begin
fMeinThread2.MeinThread1.add('text');
//noch irgend was....
end;