2011-03-14 21 views
6

F # içinde gibi bir şey yapmam gerekiyorsa form = new Form (Text = "MyForm") ve FSI'da çalıştırın, form normal olarak görüntülenecek ve güncelleştirilecek ve hatta iletileri alacaktır. Ancak, kim mesaj sırasını pompalıyor? Burada hiçbir Application.Run çağrısı yok. Biraz kafam karıştı.F # içinde mesaj sırasını kim pompalıyor?

cevap

16

ildjarn'ın dediği gibi, F # Interactive kendi mesaj döngüsünü uygular. İlginçtir ki, mesaj döngüsü F # Interactive'de kodlanmamıştır, böylece onu değiştirebilirsiniz. Bu oldukça kullanışlıdır, çünkü varsayılan olan Windows Forms'a dayanmaktadır, ancak kullanmak isteyebileceğiniz diğer GUI çerçeveleri vardır.

Bunu yapmak için, IEventLoop arabirimini uygulamanız ve ardından örneğinizi fsi.EventLoop özelliğine atamanız gerekir. Daha fazla bilgi için bkz:

+0

Teşekkür bağlantılar için bu çok fazla! Harika bilgi. – Chuck

3

FSI, bu sebepten dolayı kendi mesaj pompasına sahiptir.