Hallo,
warum ist es wichtig den Aufruf der privaten Methode an den Hauptthread zu deligieren? Zu
Synchronisationszwecken? Wenn ja, und wenn die private Methode deiner Klasse keine Aufrufparameter besitzt, könntest Du sie in einen Aufruf der statischen Synchronize-Methode der TThread-Klasse verpacken. In etwa so:
Delphi-Quellcode:
type
TMyClass = class(TObject)
private
procedure PrivateMethod;
public
procedure PublicMethod;
end;
...
procedure TMyClass.PublicMethod;
begin
//Private Methode synchronisiert aufrufen
TThread.Synchronize(nil, PrivateMethod);
end;
Das ist allerdings nicht ganz ungefährlich. Wenn die öffentliche Methode der Klasse nicht aus
einem Thread aufgerufen wird, kann es passieren, dass der Synchronize-Aufruf den Hauptthread lahmlegt.
Gruß,
Jens