Freigeben über


Ausführen eines Formulars

Sie können ein Formular direkt über die Oberfläche oder auf Programmebene ausführen.

Interaktives Ausführen eines Formulars

Sie können das von Ihnen entworfene Formular auf verschiedene Art und Weise ausführen.

Wenn Sie im Formular-Designer arbeiten, können Sie das Formular testen, indem Sie auf der Symbolleiste des Formular-Designers auf die Schaltfläche Ausführen klicken. Wenn Sie den Formular-Designer erneut öffnen möchten, müssen Sie das Formular schließen oder in der Symbolleiste die Schaltfläche Formular ändern wählen.

Sie können ein Formular aus einem Projekt heraus oder auf Programmebene ausführen.

So führen Sie ein Formular aus

  • Wählen Sie im Projekt-Manager auf der Registerkarte Dokumente den Namen des Formulars aus, und klicken Sie auf die Schaltfläche Ausführen.

    - Oder -

  • Geben Sie im Befehlsfenster den DO FORM-Befehl ein.

    - Oder -

  • Klicken Sie im Menü Formular auf den Befehl Formular ausführen. Sie können auch auf der Standardsymbolleiste auf die Schaltfläche Ausführen klicken.

Das Formular kann außerdem ausgeführt werden, indem Sie im Menü Programm auf Ausführen klicken. Klicken Sie im Feld Dateityp auf Formular, markieren Sie das gewünschte Formular, und klicken Sie anschließend auf Ausführen.

Tipp   Wenn Sie ein Formular ausführen, können Sie schnell in den Entwurfsmodus wechseln, indem Sie auf der Standardsymbolleiste auf die Schaltfläche Formular bearbeiten klicken.

Ausführen eines Formulars auf Programmebene

Möchten Sie ein Formular programmgesteuert ausführen, dann fügen Sie den DO FORM-Befehl in den Ereigniscode, den Methodencode, ein Programm oder eine Prozedur ein.

Benennen eines Formularobjekts

Wenn Sie den DO FORM-Befehl verwenden, dann ist der Name des Formularobjekts standardmäßig gleich dem Namen der SCX-Datei. Mit der folgenden Codezeile wird z. B. die Datei Customer.scx ausgeführt. Visual FoxPro erstellt hierbei automatisch eine Objektvariable für das Formular mit dem Namen customer:

DO FORM Customer

So benennen Sie ein Formularobjekt

  • Verwenden Sie die NAME-Klausel des DO FORM-Befehls.

Die folgenden Befehle führen beispielsweise ein Formular aus, wobei zwei Namen für Formularobjektvariablen erstellt werden:

DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2

Bearbeiten des Formularobjekts

Wenn Sie im Befehlsfenster den DO FORM-Befehl erteilen, wird das Formularobjekt mit einer globalen Variablen verknüpft. Mit Hilfe des Variablennamens können Sie auf das Formularobjekt zugreifen. Die folgenden Befehle öffnen z. B. ein Formular Customer und ändern dessen Überschrift, wenn sie über das Befehlsfenster eingegeben werden.

DO FORM Customer
Customer.Caption = "Hello"

Wenn Sie danach den folgenden Befehl über das Befehlsfenster ausgeben, wird im aktiven Ausgabefenster der Wert O angezeigt, d. h. Customer ist ein Objekt:

? TYPE("Customer")

Wenn Sie den DO FORM-Befehl in einem Programm erteilen, wird das Formularobjekt dem Programm zugeordnet. Ist das Programm oder die Prozedur beendet, wird das Objekt gelöscht. Sie könnten beispielsweise folgendes Programm ausführen:

*formtest.prg
DO FORM Customer

Nach der Programmausführung bleibt das Formular sichtbar. Alle Steuerelemente des Formulars sind aktiv. TYPE("Customer") gibt jedoch U zurück und gibt damit an, dass Customer eine undefinierte Variable ist. Der folgende Befehl würde, eingegeben im Befehlsfenster, einen Fehler erzeugen:

Customer.Caption = "Hello"

Sie können jedoch auf das Formular zugreifen, indem Sie die Eigenschaften ActiveForm, Forms und FormCount des Anwendungsobjekts verwenden.

Zuweisen des Formulars zu der Formularobjektvariablen

Mit Hilfe des Schlüsselwortes LINKED des DO FORM-Befehls können Sie das Formular mit dem Formularobjekt verknüpfen. Bei Verwendung des Schlüsselwortes LINKED wird das Formular freigegeben, wenn die mit dem Formularobjekt verknüpfte Variable den Gültigkeitsbereich überschreitet.

Der folgende Befehl erstellt z. B. ein Formular, das mit der Objektvariablen frmCust2 verknüpft ist.

DO FORM Customer NAME frmCust2 LINKED

Wird frmCust2 gelöscht, wird das Formular geschlossen.

Schließen eines aktiven Formulars

Möchten Sie den Benutzern erlauben, das aktive Formular zu schließen, indem sie auf die Schaltfläche zum Schließen klicken oder indem sie aus dem Systemmenü des Formulars den Befehl Schließen wählen, dann sollten Sie die Closable-Eigenschaft des Formulars festlegen.

So geben Sie den Benutzern die Möglichkeit, das aktive Formular schließen zu können

Sie können z. B. das Formular frmCustomer schließen und aus dem Speicher entfernen, indem Sie den folgenden Befehl in einem Programm oder im Befehlsfenster erteilen:

RELEASE frmCustomer

Sie können auch Benutzern ermöglichen, ein Formular zu schließen und aus dem Speicher zu entfernen. Fügen Sie hierzu den folgenden Befehl in den Code des Click-Ereignisses für ein Steuerelement ein, z. B. einer Befehlsschaltfläche mit der Beschriftung Beenden:

THISFORM.Release

Sie können den RELEASE-Befehl auch in dem Code verwenden, der einem Objekt auf dem Formular zugeordnet ist. Der Code in der Release-Methode wird dann jedoch nicht ausgeführt.

Vorsicht   Wenn Sie ein Formular aus dem Speicher entfernen, geben Sie auch die für das Formular erstellte Objektvariable aus dem Speicher frei. Es wird für einen Formularsatz nur eine einzelne Variable erstellt, daher können Sie Formulare innerhalb eines Formularsatzes nicht aus dem Speicher entfernen, ohne auch den Formularsatz zu entfernen. Wenn Sie den Formularsatz entfernen möchten, können Sie den RELEASE THISFORMSET-Befehl verwenden. Wenn Sie ein Formular vom Bildschirm löschen möchten, so dass Benutzer es nicht mehr anzeigen oder mit diesem arbeiten können, können Sie dazu den THISFORM.Hide-Befehl verwenden.

Siehe auch

Speichern von Formularen | Festlegen von Eigenschaften zur Laufzeit | Erstellen von Formularen | Beispiel für das Bearbeiten von Objekten | Ausblenden eines Formulars