J'essaie juste d'obtenir une application VB.net pour pouvoir exécuter un script lua dans un fichier externe, et être capable d'ajouter quelques fonctions à lua aussi, Pour cela, j'ai ce code:Lua dans Visual Basic.net
Imports LuaInterface
Public Class Form1
Public luascripting As New Lua()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
luascripting.RegisterFunction("DisplayText", Me, Me.GetType().GetMethod("DisplayText"))
luascripting.DoFile("script.lua")
End Sub
End Class
Mais il erreurs sur la fonction de registre, en disant "Référence d'objet n'est pas définie à une instance d'un objet." Connaissez-vous un exemple de projet VB.net utilisant lua? Ou savoir comment résoudre ce problème?
AHA! Le problème était que ce n'était pas un sous-marin public! (Je l'ai eu cependant, je n'ai pas mis tout mon code.) –
Non, le vrai problème au-delà de l'extrait de code médiocre est que vous avez oublié de spécifier BindingFlags pour GetMethod(). Vous avez besoin de BindingFlags.NonPublic ou de BindingFlags.Instance ou de BindingFlags.Public. Pour l'enregistrement. –