Frage

Ich habe a gefolgt Lernprogramm Wenn Sie IronRuby zum Laufen bringen und das funktioniert großartig. Wenn ich jedoch versuche, ein wenig tiefer zu tauchen, wie die Verwendung von Schaltflächen auf Ereignisse, erhalte ich diesen Fehler.

Could not load type 'System.Reflection.Emit.ModuleBuilder' from assembly 'mscorlib, Version=3.7.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.

Und meine mainpage.rb

include System
include System::Windows
include System::Windows::Controls

# Set the titles
Phone.find_name("ApplicationTitle").text = "this is the application title"
Phone.find_name("PageTitle").text = "and page title here"

# Create a new button and add to page
button = Button.new
button.content = "Click Me"
Phone.find_name("ContentPanel").children.add(button)

button.click do |s,e| # breaks here
  MessageBox.show("Button Click Works!")
end

Ist es derzeit positiv, professionelle Apps mit IronRuby zu bauen?

War es hilfreich?

Lösung

Das Problem bei der Verwendung dynamischer Sprachen unter Windows Phone 7 ist das Auslassen der System.Reflection.Emit Implementierung. IronRuby ist jedoch in der Lage, den meisten Code über seinen Dolmetscher auszuführen, anstatt IL zu emittieren, was es ermöglicht, in Windows Phone 7 auszuführen. Dinge wie Subklassigen von CLR -Typen und die Implementierung von Schnittstellen erfordern jedoch, dass IL IL ausgibt, sodass diese .NET -Interop -Funktionen dies tun. Seien Sie nicht funktional unter Windows Phone 7.

Versuchen Sie für Ihr spezifisches Beispiel, anstatt einen Block zu verwenden, eine Methode:

def on_button_click(s, e)
  MessageBox.show("Button Click Works!")
end

button.click.add(method(:on_button_click))

Wenn dies jedoch nicht für Sie funktioniert, bitte ein Problem einreichen.

Andere Tipps

Wahrscheinlich denke ich persönlich, dass der einzige Weg, um einen professionellen Job zu machen, das native Betriebssystem zu verwenden. Auf diese Weise haben Sie die meiste Macht dessen, was Sie tun müssen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top