Question

J'ai suivi un tutoriel sur obtenir IronRuby et en cours d'exécution et qui fonctionne très bien. Cependant, lorsque je tente de plonger un peu plus, comme l'utilisation d'événements de clic de bouton, je reçois cette erreur;

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

Et mon 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

est-il actuellement posisible pour créer des applications professionnelles avec IronRuby?

Était-ce utile?

La solution

Le problème avec l'utilisation des langues dynamiques sur Windows Phone 7 est une omission de la mise en œuvre de ce System.Reflection.Emit de. Cependant, IronRuby est en mesure d'exécuter la plupart du code par l'interprète de, plutôt que de l'émettre IL, qui permet d'exécuter dans Windows Phone 7. Cependant, les choses comme le sous-classement types CLR et les interfaces d'application, requièrent émission de IL, de sorte que les .NET Interop fonctionnalités seront ne pas être fonctionnel sur Windows Phone 7.

Pour votre exemple spécifique, au lieu d'utiliser un bloc, essayez d'utiliser une méthode:

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

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

Cependant, si cela ne fonctionne pas pour vous, s'il vous plaît soumettre un problème.

Autres conseils

Probablement, mais je pense personnellement la seule façon de faire un travail professionnel utilise le système d'exploitation natif. De cette façon, vous avez la plus grande puissance de ce que vous avez à faire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top