2.6 KiB
2.6 KiB
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,$INCLUDEundRUNwerden 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_Loadinitialisiert;LEN(record)liefert die feste Satzbreite.INPUT$liest auch Binärdateien. SCREEN.CONTROLPANEL(index),CLIPBOARDundPRINTERhaben Laufzeitverhalten; die von Notepad verwendeten Common-Dialog-Deklarationen arbeiten über die vorhandenen Textdialoge.- Die nativen Controls
VSpinundHSpinwerden als bedienbaresSpinimportiert, einschließlich Wertgrenzen, Wiederholung undCustom-Ereignis. SCREEN0–13 sowie die im Grafikbeispiel verwendeten AnweisungenLINE,PAINTundVIEWzeichnen 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.