Пример несколько изменён, по сравнению с оригинальным. Но делает, практически всё тоже самое.
module Main; import System, System.Windows.Forms as Формы; type {public, ref} тФормаГлав = object implements Формы.Form var {public} кнпВыход : Формы.Button; procedure {public} актВыход ( отправ_:object; арг_: System.EventArgs); begin Формы.Application.Exit; end актВыход ; procedure Добавить_кнпВыход; begin кнпВыход := new Формы.Button; кнпВыход .Text := "Выход"; кнпВыход .Left := Width - кнпВыход .Width - 50; кнпВыход .Top := Height - кнпВыход .Height - 50; кнпВыход .add_Click(актВыход); end Добавить_кнпВыход; begin Text := "Моё Zonnon Windows приложение"; Width := 420; Height := 240; Добавить_кнпВыход; Controls.Add(кнпВыход ); Update; CenterToScreen; end тФормаГлав; var фрмГлавная: тФормаГлав; begin фрмГлавная := new тФормаГлав; Формы.Application.Run(фрмГлавная); end Main.
Пример достаточно хорошо демонстрирует объектную окраску от C#, при этом Зоннон встроенными средствами обеспечивает асинхронность и многопоточность с лёгкой возможностью создания критических монопольных секций.
Прямая компиляция завершится с ошибкой. Компилятор укажет на то, что невозможно выполнить IMPORT System.Windows.Forms (и куча наследственных ошибок из-за этого). В этой ситуации в папке References надо добавить ссылку на этот компонент. Физически, это DLL, лежащая в одной из системных папок Windows (легко ищется поиском, но нужно обратить внимание на то, чтобы версия была от .Net Framework 2.x). Желательно, эту DLL скопировать в папку с проектом, и уже там добавить ссылку. Чтобы, в случае каких-либо изменений, не потерять ссылку. После этого компиляция проходит успешно, и программа доступна для запуска.