Hallo,
Delphi-Quellcode:
procedure TAbtfrageClass.MSErmitteln;
var
I: integer;
begin
i := 0;
with FpFIBDataSetAbfrage do
begin
Close;
SelectSQL.Text:= 'SELECT DISTINCT mw_msid FROM mw_tabelle';
Application.ProcessMessages;
GenerateSQLs; // Wie lange braucht der? Wenn lange, dann dahinter ein
Application.ProcessMessages;
Open; // Solange der ackert, wird's vermutlich nichts mit dem Aktuallisieren der Gauge.
Application.ProcessMessages;
while not EOF do
begin
// Die MSId-Bezeichnung aus der Datenbank wird in einer StringList
// gespeichert. Diese Bezeichung ist auch gleichzeitig die Spalten-
// bezeichnung für die PIVOT-Tabelle.
FMSListe.add(FieldByName('mw_msid').AsString);
next;
Inc(i);
// Zeit- und datenmengenabhängig größeren oder kleineren Wert nehmen.
If i Mod 100 = 0 then begin
Application.ProcessMessages;
end;
end;
end;
end;
Wie stehen die Start- und Endewerte für frmWarnhinweis.frmWarnung.Gauge1?
Woher weiß die Routine, wann sie den Endewert erreicht hat um ggfls. wieder von vorne anzufangen. Sind Start- und Endewert eventuell so gewählt, dass ein Progress + 10 eine so kleine Veränderung der Gauge liefert, dass der Fortschritt nur einfach nicht zu sehen ist?
Alternative: Lass den Timer weg und rufe die Methode
Timer1Timer(Sender: TObject);
in MSErmitteln auf:
Delphi-Quellcode:
procedure TAbtfrageClass.MSErmitteln;
var
I: integer;
begin
i := 0;
with FpFIBDataSetAbfrage do
begin
Close;
SelectSQL.Text:= 'SELECT DISTINCT mw_msid FROM mw_tabelle';
Application.ProcessMessages;
GenerateSQLs; // Wie lange braucht der? Wenn lange, dann dahinter ein
Application.ProcessMessages;
Open;
Application.ProcessMessages;
while not EOF do
begin
// Die MSId-Bezeichnung aus der Datenbank wird in einer StringList
// gespeichert. Diese Bezeichung ist auch gleichzeitig die Spalten-
// bezeichnung für die PIVOT-Tabelle.
FMSListe.add(FieldByName('mw_msid').AsString);
next;
Inc(i);
// Zeit- und datenmengenabhängig größeren oder kleineren Wert nehmen.
If i Mod 100 = 0 then begin
Timer1Timer(Nil); // Gaugeposition verändern.
Application.ProcessMessages;
end;
end;
end;
end;