Hallo!
Ich versuche mich an einer kleinen App für Android, die per Zufall Übersetzungen für Ausdrücke von Deutsch in Spanisch abfragt.
Folgender Code funktioniert als PC-Anwendung, auf dem Handy gibt es keine Veränderungen bei den beiden Labels LGer2 und LSpain2.
Auch ihr repaint bringt nichts.
Delphi-Quellcode:
gestoppt := false;
//array rf wird entsprechend Record-Größe für Ausdrücke gefüllt
setlength(rf,anz); for a := 0 to anz -1 do rf[a] := a;
//Array wird gemischt
azufmix(rf);
a := 0;
repeat
LSpain2.Text := '';
LGer2.Text := Spain[rf[a]].SpruchDE; application.ProcessMessages;
sleep(3000);
// weiter := false;
LSpain2.Text := Spain[rf[a]].SpruchES; application.ProcessMessages;
sleep(3000);
inc(a);
until (a>= anz-1);// or gestoppt;
Im folgenden Code hingegen, Ausrufezeichen beachten - zeigt LGer2 den Record-Inhalt an, jedoch auch nur dann, wenn anschließend mit exit ausgestiegen wird. Kann mir das jemand erklären und mir am besten einen Tipp geben, wie ich das Problem beheben kann?
Gruß
Rüd
Delphi-Quellcode:
gestoppt := false;
//array rf wird entsprechend Record-Größe für Ausdrücke gefüllt
setlength(rf,anz); for a := 0 to anz -1 do rf[a] := a;
//Array wird gemischt
azufmix(rf);
a := 0;
LGer2.Text := Spain[rf[a]].SpruchDE; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
exit; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
repeat
LSpain2.Text := '';
LGer2.Text := Spain[rf[a]].SpruchDE; application.ProcessMessages;
sleep(3000);
// weiter := false;
LSpain2.Text := Spain[rf[a]].SpruchES; application.ProcessMessages;
sleep(3000);
inc(a);
until (a>= anz-1);// or gestoppt;