Einzelnen Beitrag anzeigen

Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#1

Schleife zum aktivieren von Queries

  Alt 10. Jun 2009, 15:44
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Moin Moin liebe DPler

hab folgendes Problem und versteh die Logik momentan grad nicht

Also ich hab eine Routine geschrieben die mir meine Komponenten vom Typ TZQuery (ZEOS) aktiviert.
Da ich zwei Queries habe die ich von der Aktivierung auschliessen möchte, überprüfe ich den
Namen der Komponenten ... ich post euch mal meinen Code ...

Delphi-Quellcode:
...
for I := 0 to frmMain.ComponentCount - 1 do
begin
  // Überprüfen ob Komponente vom Typ "TZQuery"
  if frmMain.Components[I] is TZQuery then
  begin
    // >>>>>>>>>>>>>>>> Hier passiert die Überprüfung <<<<<<<<<<<<<<<<<
    if ((frmMain.Components[I] as TZQuery).Name <> 'qryB') OR
       ((frmMain.Components[I] as TZQuery).Name <> 'qryK') then
    begin
       // Log: Versuch Query zu aktivieren
       frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name +
                                       '" wird versucht zu aktivieren ...');

       // Query aktivieren
       try
         (frmMain.Components[I] as TZQuery).Active := True;
         frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name +
                                         '" wurde erfolgreich aktiviert ...');
         frmDbProgress.prgDb.StepIt;
         except on E: Exception do
           begin
             Cursor := crDefault;
             // Fehlermeldung ausgeben
             frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name +
                                            '" konnte nicht aktiviert werden ...');
             // Errors um 1 erhöhen
             Inc(Errors);
         end;
       end;
    end;
  end;
end;
...
Die besagten Queries sind "qryB" und "qryK" ...

// >>>>>>>>>>>>>>>> Hier passiert die Überprüfung <<<<<<<<<<<<<<<<< ...
kennzeichnet den Teil in dem die Überprüfung stattfindet

Der teil dieses Codes wird im AfterConnect Event der Connection ausgeführt ... nur so als info am rande
Sascha
  Mit Zitat antworten Zitat