Phase 4: Steuerelemente implementieren
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Befunde am öffentlichen VBDOS-Bestand
|
||||
|
||||
Geprüft wurde `cout/vbdos` im Commit
|
||||
`1cdd2b32b829fe1721d0b6aecc433abc47a96fb6`. Maßgeblich waren die
|
||||
vorhandenen `.MAK`-Projekte; wo keines existiert, wurde die `.FRM` direkt
|
||||
verwendet. Jeder Eintrag bestand `tbc check` ohne Diagnose. Die Programme
|
||||
wurden anschließend in einem 100×30-Pseudoterminal gestartet und blieben nach
|
||||
dem Ende des Modulrumpfs bedienbar, bis ein Steuerelement das Formular schloss
|
||||
oder der Lauf bewusst abgebrochen wurde.
|
||||
|
||||
| Programm | Check | Bediennachweis |
|
||||
|---|---:|---|
|
||||
| `graphics/graphics.mak` | 0 Diagnosen | Alt+X löst `cmdExit_Click` aus und entlädt das Formular |
|
||||
| `microsoft/check.mak` | 0 Diagnosen | Alt+F öffnet das Menü; X erreicht den Exit-/Speicherdialogpfad |
|
||||
| `microsoft/qlbview.mak` | 0 Diagnosen | Esc löst die Cancel-Schaltfläche aus und entlädt das Formular |
|
||||
| `microsoft/seek.mak` | 0 Diagnosen | Alt+X löst `cmdExit_Click` aus und entlädt das Formular |
|
||||
| `microsoft/spindemo.mak` | 0 Diagnosen | Tab und Pfeiltaste werden dem Text-/Spin-Steuerpfad zugestellt |
|
||||
| `microsoft/notepad.frm` | 0 Diagnosen | Alt+F öffnet das Menü; X löst `mnuFileExit_Click` aus |
|
||||
| `misc/mentors/mentors.frm` | 0 Diagnosen | Alt+F öffnet das Menü; X erreicht den Exit-/Speicherdialogpfad |
|
||||
|
||||
## Geschlossene Befunde
|
||||
|
||||
- `.MAK`-Einträge, `$INCLUDE` und `RUN` werden relativ und
|
||||
DOS-großschreibungsunabhängig aufgelöst; mehrere Module und Formulare
|
||||
werden als gemeinsames Programm übersetzt.
|
||||
- Binärformular-P-Code behält Block- und Anweisungsgrenzen, numerische
|
||||
Suffixe, Record-/UDT-Ausdrücke und Control-Arrays korrekt bei.
|
||||
- Globale Arrays werden vor `Form_Load` initialisiert; `LEN(record)` liefert
|
||||
die feste Satzbreite. `INPUT$` liest auch Binärdateien.
|
||||
- `SCREEN.CONTROLPANEL(index)`, `CLIPBOARD` und `PRINTER` haben
|
||||
Laufzeitverhalten; die von Notepad verwendeten Common-Dialog-Deklarationen
|
||||
arbeiten über die vorhandenen Textdialoge.
|
||||
- Die nativen Controls `VSpin` und `HSpin` werden als bedienbares `Spin`
|
||||
importiert, einschließlich Wertgrenzen, Wiederholung und `Custom`-Ereignis.
|
||||
- `SCREEN` 0–13 sowie die im Grafikbeispiel verwendeten Anweisungen `LINE`,
|
||||
`PAINT` und `VIEW` zeichnen auf den Zellenpuffer.
|
||||
- Modellose Formulare halten nach dem Modulrumpf die VM-Ereignisschleife
|
||||
offen; Formularereignisse laufen auf derselben VM weiter, bis alle Formulare
|
||||
geschlossen sind. Derselbe Pfad funktioniert im Terminal und mit
|
||||
vorab eingelesener Pipe-Eingabe.
|
||||
|
||||
Damit sind alle während dieses Kompatibilitätslaufs gefundenen
|
||||
Implementierungslücken geschlossen; es verbleibt kein dokumentierter oder
|
||||
umgangener Befund.
|
||||
Reference in New Issue
Block a user