11.10 destroy()

Mit Hilfe dieser Funktion können beliebige Objekte oder Modelle eines Dialogs gelöscht werden. Dabei werden alle Kinder des Objektes mit gelöscht.

Definition

boolean destroy
(
      object  Object input
  { , boolean DoIt   := true input }
)

Parameter

object Object input
In diesem Parameter wird das zu löschende Objekt angegeben.
boolean DoIt := true input
Mit Hilfe dieses optionalen Parameters wird gesteuert, wie dieses Objekt gelöscht werden soll. Wenn hier true angegeben wird, wird das Objekt gelöscht sowie alle Regelteile, die dieses Objekt benutzen abgeändert, so dass die entsprechenden Anweisungen entfernt werden. Falls es sich bei dem zu löschenden Objekt um ein Modell handelt, wird – falls der zweite Parameter false ist – das Modell nur gelöscht, wenn es von keinem anderen Objekt benutzt wird. Wird hier aber true angegeben, wird das Modell gelöscht und die Objekte, die dieses Modell benutzen, beziehen sich wieder auf das nächsthöhere Modell bzw. den Default.

Rückgabewert

true
Objekt konnte gelöscht werden.
false
Objekt konnte nicht gelöscht werden.

destroy() ruft die :clean()-Methode des zu zerstörenden Objekts auf.

Beispiel

dialog Beispiel
{
}
model window MWnDetail
{
  !! Detailanzeige von Datensätzen
  .title "Detailanzeige der Daten";

  rule void GetData()
  {
    !! Holt sich die Daten wie abgesprochen
    !! macht Fenster sichtbar
    this.visible ::= true;
  }

  child pushbutton PbExit
  {
    .text "&Abbrechen";

    on select
    {
      !! Zerstört das Instanzen-Fenster
      destroy(this.window);
    }
  }
}

window WnMain
{
  .title "Datenübersicht";

  child tablefield TfDaten
  {
    !! Enthält eine Datenübersicht
    on dbselect
    {
      variable object NewObj := null;
 
      !! sichtbares Erzeugen:
      !! NewObj ::= MWnDetail:create(this.dialog);
      !! unsichtbares Erzeugen:
      NewObj ::= create(MWnDetail , this.dialog, true);
      NewObj:GetData();
    }
  }
}

Siehe auch

Methode :destroy()

C-Funktion DM_Destroy im Handbuch „C-Schnittstelle - Funktionen“

COBOL-Funktion DMcob_Destroy im Handbuch „COBOL-Schnittstelle“