Zitat von
DelphiManiac:
Delphi-Quellcode:
procedure TuWas;
begin
// Prozedur tut was und hat einen exklusiven Zugriff auf eine Ressource
// zwischendurch ruft sie Application.ProcessMessages auf
end;
Deine Procedure darf nicht einfach Application.ProcessMessages aufrufen!
Sie braucht einen Callback-Mechanismus, damit du genau steuern kannst, was passieren soll.
Delphi-Quellcode:
procedure TuWas(callback:TNotifyEvent);
begin
// Prozedur tut was und hat einen exklusiven Zugriff auf eine Ressource
// zwischendurch ruft sie den Callback auf
for .... do
begin
if Assigned(callback) then callback(nil);
// ....
end;
end;
Das Callback kann als Procedure oder als Methode ausgeführt werden.
Ich habe hier mal eine Methode (TNotifyEvent) gewählt, weil ich mir gut vorstellen kann,
dass "TuWas" so komplex ist, dass man daraus eine Klasse machen müsste.