if ServiceGetStatus('
', '
FirebirdGuardianDefaultInstance') = 4
then
begin
QryMB256PLUS.SQL.Clear;
QryMB256PLUS.SQL.Text := '
Select * From MB256PLUS';
if not QryMB256PLUS.Active
then begin
iError := 0;
Repeat
Try
QryMB256PLUS.Open;
Except
on e :
Exception Do begin
sMessage := e.
Message;
Inc(iError);
Application.ProcessMessages;
Sleep(1000);
end;
end;
until QryMB256PLUS.Active
or (iError > 5);
// <- bitte ausprobieren, ob 5 reicht oder eventuell höher sein muss.
if iError > 5
then begin
ShowMessage('
Die Datenbank konnte mit ' + IntToStr(iError) + '
Versuchen nicht geöffnet werden.'
+ #13 + '
Die letzte Fehlermeldung lautete: ' + sMessage);
Application.Terminate;
// <- oder sonstige Fehlerbehandlung.
end;
end;
VST.BeginUpdate;
VST.Clear;
QryMB256PLUS.Last;
PBFortschritt.Max := QryMB256PLUS.RecordCount;
for IAnzahl := 0
to 4000
do
begin
QryMB256PLUS.Prior;
end;
while not QryMB256PLUS.EOF
do
begin
Daten := TOMB256PLUS.Create;
with Daten
do
begin
Daten.ID := QryMB256PLUS.FieldByName('
ID').AsInteger;
Daten.LfdNr := QryMB256PLUS.FieldByName('
LfdNr').AsInteger;
Daten.Datum := QryMB256PLUS.FieldByName('
Datum').AsString;
Daten.Uhrzeit := QryMB256PLUS.FieldByName('
Uhrzeit').AsString;
Daten.Ereignis := QryMB256PLUS.FieldByName('
Ereignis').AsString;
Daten.Teilnehmer := QryMB256PLUS.FieldByName('
Teilnehmer').AsString;
Daten.Bereich := QryMB256PLUS.FieldByName('
Bereich').AsString;
end;
VST.AddChild(
nil,Daten);
if PBFortschritt.Visible = False
then
PBFortschritt.Visible := true;
PBFortschritt.Position := QryMB256PLUS.RecNo;
QryMB256PLUS.Next;
end;
VST.EndUpdate;
VST.ScrollIntoView(VST.GetLast, true);
with QryMB256PLUS
do begin
QryMB256PLUS.SQL.Clear;
QryMB256PLUS.SQL.Text := '
SELECT FIRST 5 * FROM MB256PLUS WHERE EREIGNIS = :Ereignis';
QryMB256PLUS.ParamByName('
Ereignis').asString:= '
Einbruch';
QRYMB256PLUS.Open;
while Not eof
do
begin
CBAlarme.Items.Add(FieldByName('
Ereignis').AsString);
QryMB256PLUS.Next;
end;
QryMB256PLUS.Active := false;
QryMB256PLUS.Close;
end;
CBAlarme.ItemIndex := 1;
PBFortschritt.Visible := false;
MMStatus.Text := '
Datenbank geladen';
MMStatus.Color := clLime;
QryMB256PLUS.Close;
end;
end;