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

  • Ready immer prüfen. Ohne erreichbares Fenstersystem (kein DISPLAY) schlägt sonst später etwas fehl, das nichts damit zu tun hat.
  • Run() läuft, bis Terminate() gerufen wird; Shutdown() räumt danach auf.
  • ProcessOnce() verarbeitet einen Durchlauf — die Grundlage von ShowModal und der Weg für eigene Schleifen.
  • Zeitgeber müssen angemeldet werden: AddTimer(t), sonst feuert der Timer nie.
  • AddActionList(al) meldet eine Befehlsliste an — ohne sie laufen weder OnUpdate noch Tastenkürzel.
  • Dialoge brauchen die Anwendung als erstes Argument; wer Dialoge in einer eigenen Unit hält, muss ihr die TApplication bekannt 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.