Obecnie pracuję nad "Programowaniem funkcjonalnym w świecie rzeczywistym". Próbuję uzyskać przykład 1.12 pracy, program "cześć świat" za pomocą formularzy systemu Windows. To jest kod: -Orientacja obiektowa "Witaj świecie" za pomocą Windows Forms w języku F #
open System.Drawing;;
open System.Windows.Forms;;
type HelloWindow() =
let frm = new Form(Width = 400, Height = 140)
let fnt = new Font("Times New Roman", 28.0f)
let lbl = new Label(Dock = DockStyle.Fill, Font = fnt,
TextAlign = ContentAlignment.MiddleCenter)
do frm.Controls.Add(lbl)
member x.SayHello(name) =
let msg = "Hello" + name + "!"
lbl.Text <- msg
member x.Run() =
Application.Run(frm);;
let hello = new HelloWindow();;
hello.SayHello("you");;
hello.Run();;
Niestety, powoduje to błąd - "Uruchomienie drugiej pętli wiadomości na jednym wątku nie jest prawidłową operacją." Oczywiste jest, że istnieje okno, które się nie otwiera, a to dezorientuje program. Nie widzę sposobu naprawienia błędu, czy ktoś może mi pomóc?
Próbowałem również wprowadzenie ostatecznej blok kodu jak: -
let hello = new HelloWindow()
hello.SayHello("you")
hello.Run();;
Ale to nie pomaga. Kod działa poprawnie, ale nie daje wyniku, skomentowano ostatni wiersz.
Podejrzewam linie od 'niech hello' trzeba wcięcie - mimo że może być po prostu kopiowanie –
Tak . Masz rację, dokonasz edycji. –
To nie rozwiązuje twojego problemu, ale nie musisz go używać ;; wszędzie –