9.6 C
София

Какво прави трудната грешка трудна? Ветеранът от Microsoft казва всичко

Ветеранът на Microsoft Реймънд Чен ни върна в ерата на 16-битовия Windows и определението за „твърда грешка“ в сравнение с нещо малко по-меко и по-лесно.

По време на ерата на Windows 3.1 и подобните му, Microsoft беше изправена пред предизвикателството да изведе съобщение за грешка, което да е толкова модално, че нищо друго да не се изпълнява.

Чен подчерта I/O грешка, излъчена при опит за четене от устройство. „Windows не може да постави традиционен MessageBox, защото той изпомпва съобщения и позволява на кода на приложението да се изпълнява в момент, когато правилата на кооперативната многозадачност казват, че кодът на приложението не трябва да се изпълнява.“

По този начин блеенето в MessageBox се разглежда като съобщение за „мека грешка“.

Въпреки това, с изключение на въвеждането от мишката и клавиатурата, което идва от кода на потребителския интерфейс, „твърдата системна модална грешка“ беше ръчно измислена афера. Интерфейсът на графичното устройство (GDI) беше помолен да рисува директно в буфера на рамката „и всички диалогови поведения са написани на ръка“, каза Чен.

„Не беше позволено да се изпълнява код на приложение, докато това съобщение се показваше на потребителя.“

Един коментар към публикацията на Чен припомня великолепно решение, което използва огънат кламер за задържане на клавиша R за диалогов прозорец A bort / R entry / C cancel, когато I/O грешка е хвърлена поради нарушение на споделянето – например, когато някой друг имаше достъп до файл, необходим за компилация.

Това е вариация на вековния трик за използване на Blu Tack, за да спрете RAM пакета на ZX81, причинявайки нулиране, но това е друга история.

16-битовият Windows отдавна е изчезнал и терминът „твърда грешка“ е преназначен, за да опише критични грешки или грешки от ниско ниво в по-късните версии, според Чен. Но имаше време, преди много години, когато Windows беше доста по-малко прощаващ на външни сили, отколкото е днес.

И когато Microsoft каза, че съобщение за грешка е „трудно“, това наистина го означаваше. ®

Сподели

Времето днес

София
ясно небе
9.6 ° C
12.3 °
8.8 °
59 %
1kmh
0 %
чт
11 °
пт
14 °
сб
14 °
нд
14 °
пн
14 °

Автор

ВАШИЯТ КОМЕНТАР

Моля, въведете коментар!
Моля, въведете името си тук