TApplication — die Anwendung
Hält Backend, Fenster, Zeitgeber und Befehlslisten und dreht die Ereignisschleife. Jede Vega-Anwendung hat genau eine.
Unit: Vega.Forms · Basis: TControl
→ Alle Steuerelemente · Guide: Komponenten
Verwendung
var app: TApplication := new TApplication(NewPlatformBackend());
if (!app.Ready) { PrintLn("Kein Fenstersystem erreichbar."); return 1; }
var f: TForm := new TForm(400, 240, "Fenster");
if (!app.ShowForm(f)) { return 2; }
var t: TTimer := NewTimer(20);
t.OnTimer := OnTick;
t.Start();
app.AddTimer(t);
app.Run(); // kehrt nach Terminate() zurueck
app.Shutdown();
Besonderheiten
Readyimmer prüfen. Ohne erreichbares Fenstersystem (keinDISPLAY) schlägt sonst später etwas fehl, das nichts damit zu tun hat.Run()läuft, bisTerminate()gerufen wird;Shutdown()räumt danach auf.ProcessOnce()verarbeitet einen Durchlauf — die Grundlage vonShowModalund der Weg für eigene Schleifen.- Zeitgeber müssen angemeldet werden:
AddTimer(t), sonst feuert der Timer nie. - Dialoge brauchen die Anwendung als erstes Argument; wer Dialoge in einer eigenen Unit hält, muss ihr die
TApplicationbekannt machen.
Eigenschaften
Alle Eigenschaften, auch die geerbten.
| Name | Typ | Bedeutung | Herkunft |
|---|---|---|---|
Backend | IVegaBackend | Fenstersystem: X11, Win32 oder Null | eigen |
MainForm | TForm | Hauptfenster — mit ihm endet die Anwendung | eigen |
ScreenMargin | int64 | Randabstand, den ein Fenster zum Schirmrand hält | eigen |
ModalForm | TForm | Das gerade modal gezeigte Fenster, sonst 0 | eigen |
Forms | TObjectList | Alle offenen Fenster | eigen |
FormCount | int64 | Anzahl der offenen Fenster | eigen |
ActionLists | TObjectList | Angemeldete Befehlslisten (Vega.Actions) | eigen |
timers | TObjectList | Angemeldete Zeitgeber | eigen |
timer_count | int64 | Zahl der Zeitgeber | eigen |
Running | bool | Die Hauptschleife läuft | eigen |
Ready | bool | Backend ist bereit — sonst gibt es kein Fenster | eigen |
Methoden
Alle Methoden, auch die geerbten.
| Signatur | Zweck | Herkunft |
|---|---|---|
Create(b: IVegaBackend): void | Anlegen; new TApplication(NewPlatformBackend()) | eigen |
Init(b: IVegaBackend): bool | Vorgaben von TControl setzen — in eigenen Klassen als erste Zeile im Create | eigen |
ShowForm(f: TForm): bool | Fenster zeigen (nicht-modal) | eigen |
ShowModal(f: TForm): int64 | Modal zeigen, liefert ModalResult | eigen |
AddComponent(c: TComponent): void | Nichtsichtbare Komponente in die Anwendungsschleife aufnehmen — sie wird nur über Tick/NextDueIn angesprochen | eigen |
AddTimer(t: TTimer): void | Zeitgeber anmelden | eigen |
NextTimeout(now: int64): int64 | Nächste Fälligkeit | eigen |
TickTimers(now: int64): bool | Fällige Zeitgeber auslösen | eigen |
MonitorAt(x: int64, y: int64): int64 | Monitor an einer Position | eigen |
ReferenceForm(f: TForm): TForm | Bezugsfenster | eigen |
MonitorForForm(f: TForm): int64 | Monitor eines Fensters | eigen |
ApplyDock(f: TForm): bool | Andocken anwenden | eigen |
PlaceForm(f: TForm): TPoint | Fenster platzieren | eigen |
ClampToMonitor(x: int64, y: int64, f: TForm, mon: TRect): TPoint | Auf den Monitor begrenzen | eigen |
ComponentAt(i: int64): TComponent | Aufgenommene Komponente an dieser Stelle, sonst 0 | eigen |
TimerAt(i: int64): TTimer | Zeitgeber über den Index | eigen |
FormAt(i: int64): TForm | Fenster über den Index | eigen |
FormByHandle(h: int64): TForm | Fenster über die Kennung | eigen |
CloseForm(f: TForm): bool | Fenster schließen | eigen |
DispatchEvent(e: TEvent): bool | Ereignis verteilen | eigen |
RepaintDirty(): void | Anstehende Neuzeichnungen ausführen | eigen |
ProcessOnce(): bool | Einen Durchlauf verarbeiten | eigen |
AddActionList(al: TActionList): void | Befehlsliste anmelden | eigen |
UpdateActions(now: int64): void | OnUpdate der Befehle ausführen | eigen |
TickHints(now: int64): void | Kurztexte aktualisieren | eigen |
Run(): void | Ereignisschleife starten | eigen |
Terminate(): void | Ereignisschleife beenden | eigen |
Shutdown(): void | Aufräumen | eigen |
Ereignisse
Keine.
Letzte Aktualisierung: 2026-08-19 — API maschinell aus Vega/Forms.lyx erhoben, Beispiel mit lyxc 1.1.3I übersetzt.
