Syntax:
procedure disableControls;
Beschreibung:
Die Methode DisableControls deaktiviert die Aktualisierung der datensensitiven Steuerelemente, die mit der Datenmenge verbunden sind.
Rufen Sie DisableControls vor dem Verarbeiten einer großen Anzahl von Datensätzen auf, damit die datensensitiven Steuerelemente nicht bei jeder Änderung des aktiven Datensatzes aktualisiert werden. Auf diese Weise kann die ständige Bildschirmaktualisierung verhindert und die Verarbeitung beschleunigt werden, da die Daten nicht laufend auf dem Bildschirm ausgegeben werden müssen.
Wenn die Steuerelemente noch nicht deaktiviert sind, hält DisableControls den aktuellen Status der Datenmenge fest, benachrichtigt die verbundenen datensensitiven Steuerelemente und Detaildatenmengen von der Statusänderung und inkrementiert den Deaktivierungszähler der Datenmenge. Andernfalls wird lediglich der Deaktivierungszähler inkrementiert.
Der Deaktivierungszähler wird intern verwendet, um zu bestimmen, ob Daten in den datensensitiven Steuerelementen angezeigt werden sollen. Enthält die Zählervariable einen Wert größer Null, werden die Daten nicht aktualisiert.
Ist die Datenmenge die Hauptmenge einer Haupt/Detail-Beziehung, wird durch den Aufruf von DisableControls auch diese Beziehung deaktiviert. Wenn Sie BlockReadSize anstelle von DisableControls
verwenden, wird die Detaildatenmenge beim Durchlaufen der Datenmenge aktualisiert, die datensensitiven Steuerelemente jedoch nicht.
Hinweis: Aufrufe von DisableControls können verschachtelt werden. Dabei muss jedoch für jeden Aufruf von DisableControls ein entsprechender Aufruf von EnableControls stattfinden, da sonst datensensitive Steuerelemente und Detaildatenmengen nicht aktualisiert werden.
Beispiel:
//Normalerweise wird DisableControls in einem try...finally-Block aufgerufen, der die Steuerelemente wieder aktiviert, auch wenn eine Exception auftritt. Ein Beispiel:
with CustTable do
begin
DisableControls;
try
First;
while not Eof do
begin
{ Jeden Datensatz hier bearbeiten }
Next;
end;
finally
EnableControls;
end;
end;