Hallo,
ich habe zwei Threads:
Delphi-Quellcode:
TMyEreignis = procedure of object;
TMyThread = class(TThread)
private
X : Integer;
Y : Integer;
procedure MyEreignis;
public
Ereignis : TMyEreignis;
procedure Execute;override;
procedure Move;
procedure TuWasAnderes;
end;
var
t1,t2 : TMyThread;
procedure TMyThread.Execute;
begin
//Irgendwas tun
end;
procedure TMyThread.Move;
begin
end;
procedure TMyThread.TuWasAnderes;
begin
end;
procedure TMyThread.MyEreignis;
begin
end;
Also die Threads sind quasi zwei Roboter die sich auf dem Spielfeld bewegen.
Wenn ein Roboter jetzt in der Prozedur "Move" ist, kann es passieren, dass er mit dem anderen Roboter kollidiert, was wiederum bei beiden das Ereignis auslösen soll.
Mein problem ist jetzt, wie schaffe ich es das der andere Thread der sich nicht in der Move-prozedur befindet das mitbekommt das er angefahren wurde? Die Ereignisse sollen ja "zeitgleich" stattfinden, also kann ich nicht die Prozedur von einem Roboter aus dem anderen Roboter aufrufen
Weis jemand wie ich das lösen kann, das der zweite(angefahrene) Roboter das mitbekommt und sofort "selbstständig" darauf reagiert?
Danke schonmal