Programmieren mit dBASE PLUS: Events: canClose

Aus Wikibooks


canClose im Form[Bearbeiten]

Dieses Event wird bei dem Versuch ausgelöst, das Formular zu schließen. Der Rückgabewert gibt an, ob das Formular geschlossen werden kann.

Eigenschaft von[Bearbeiten]

Form

Beschreibung[Bearbeiten]

Mit canClose können Sie das Schließen eines Formulars von bestimmten Bedingungen abhängig machen. Wenn der Event-Handler für canClose den Wert True zurückgibt, kann das Formular geschlossen werden. Lautet der Rückgabewert False, ist das Schließen des Formulars nicht möglich.

Beim Schließen eines Formulars durch einen Aufruf von close( ) oder beim Klicken auf das entsprechende Symbol werden im Datensatzpuffer befindliche Änderungen gespeichert. Da das Formular beim Schließen das valid-Event des aktuellen Steuerelements (falls vorhanden) auslöst, brauchen die valid-Event-Handler einzelner Steuerelemente (falls vorhanden) nicht überprüft zu werden. Steuerelemente, die nicht referenziert wurden, sollten aber immer einer Gültigkeitsprüfung auf Formular- oder Datensatzebene unterzogen werden.


canClose in Querry, Stored Procedure[Bearbeiten]

Dieses Event wird ausgelöst, wenn eine Abfrage oder eine Stored Procedure deaktiviert werden soll. Der Rückgabewert bestimmt, ob das Objekt deaktiviert wird.

Parameter[Bearbeiten]

Keine

Eigenschaft von[Bearbeiten]

Query, StoredProc

Beschreibung[Bearbeiten]

Wird die Eigenschaft active eines Query- oder StoredProc-Objekts auf den Wert False eingestellt, wird das Event canClose dieses Objekts ausgelöst. Falls der Event-Handler für canClose den Wert False zurückgibt, schlägt der Versuch der Schließung fehl, und die Eigenschaft active bleibt True.

Ein StoredProc-Objekt kann nur deaktiviert werden, wenn es einen Datensatzbereich zurückliefert. Werden nur Werte zurückgegeben, wird die active-Eigenschaft nach dem Aufruf der Stored Procedure automatisch auf False zurückgesetzt. In diesem Fall ist nichts vorhanden, das deaktiviert werden müßte.

Normalerweise werden beim Schließen eines Query- oder StoredProc-Objekts alle Änderungen im Datensatzpuffer des zugehörigen Datensatzbereichs gespeichert. Beim Versuch, diese Änderungen zu speichern, wird vor canClose auch das Event canSave des Datensatzbereichs ausgelöst. Falls canSave den Wert False liefert, wird die Zeile nicht gespeichert und der Datensatzbereich nicht geschlossen.

Wenn Sie die noch nicht eingetragenen Änderungen beim Schließen des Objekts verwerfen und nicht speichern wollen, rufen Sie vor dem Schließen die Methode abandon( ) des Datensatzbereichs auf.