Forum: Cross-Platform-Entwicklung
by TigerLilly,
14. Jan 2021
Schau mal, da ist ein Beispiel:
fTask := TTask.Run(procedure()
var
i:integer;
begin
for i:=1 to 1000 do begin
if TTask.CurrentTask.Status = TTaskStatus.Canceled then
break;
Sleep(10); // damit zeit vergeht ...
TThread.Synchronize(nil, procedure()
Forum: Cross-Platform-Entwicklung
by TigerLilly,
13. Jan 2021
@greenmile: Ich glaube, du musst umdenken. Sowas wie "warten" funktioniert nicht. Du kannst "nachschauen", ob dein Thread schon fertig ist. Dein "Nag-Screen" wäre vielleicht so zu implementieren:
- MainForm anzeigen
- Thread starten + am Mainform ein Panel mit Infos anzeigen
- gleichzeitig einen Timer starten, der jede Sekunde nachschaut, ob der Thread schon fertig ist
- wenn ja, das...
Forum: Cross-Platform-Entwicklung
by TigerLilly,
13. Jan 2021
Ich hab so ein ähnliches Problem mit einem Timer gelöst. Der Timer feuert jede Sekunde, dann kanst du eine Bedingung testen und dann zB eine Bedingung umschalten.