Hallo!
Wenn Du eine Methode als Parameter übergeben möchtest, musst Du ein "@" davor schreiben. Folgender Quelltext zeigt auch die Verwendung von Dispatcher.Invoke, was wohl dem Synchronize aus Java entsprechen dürfte (behaupte jetzt einfach mal, ohne es zu kennen
)
Delphi-Quellcode:
type
Window1 = public partial class(System.Windows.Window)
private
public
constructor;
method Window1_Loaded(sender : Object; e : RoutedEventArgs);
method Callback(state : Object);
end;
implementation
constructor Window1;
begin
InitializeComponent();
end;
method Window1.Window1_Loaded(sender : Object; e : RoutedEventArgs);
begin
var timer := new System.Threading.Timer(@Callback, nil, 0, 1000);
end;
method Window1.Callback(state : Object);
begin
Dispatcher.Invoke(DispatcherPriority.Normal, method; begin
textBox1.Text := DateTime.Now.ToString;
end);
end;
Grüße
Christian
Christian S.
Admin in der Entwickler-Ecke