Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 23:12   #1
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
Восклицание Классы и LuaInterface

Как мне класс передать(или как правильно говориться?)) в луа.. и там юзать...?

Код:
using System;
using System.Collections.Generic;
using LuaInterface;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
            Lua lua = new Lua();
            lua.DoFile("test.lua");
            Console.ReadLine();
        }

    }

    class zzzz
    {
        public string Description = "";
        public string Name = "";
        public void GiveName(string name)
        {
            Name = name;
        }
    }
}
это луа:
Код:
luanet.load_assembly ("ConsoleApplication1")
test = luanet.import_type ("ConsoleApplication1.zzzz")
g = test()
luanet у меня есть... при запуске исключение:
test.lua:3: attempt to call global 'test' (a nil value)

как сделать правильно?)
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Старый 20.10.2012, 15:20   #2
GeorgeLucas
Пользователь
 
Аватар для GeorgeLucas
 
Регистрация: 20.10.2012
Сообщений: 11
По умолчанию

test оказался равен нулю, потому что тип не импортирован. Посмотри вводные семплы по импорту типов в Lua.
GeorgeLucas вне форума Ответить с цитированием
Старый 20.10.2012, 17:49   #3
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
По умолчанию

все правильно делаю вроде... вот http://lua-users.org/wiki/LuaInterface
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Старый 20.10.2012, 18:02   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Ну вообщето ваш zzzz private, а луа могет их поднимать?
eval вне форума Ответить с цитированием
Старый 20.10.2012, 18:04   #5
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
По умолчанию

Код:
 public class zzzz
тоже самое..
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Старый 20.10.2012, 18:18   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

test() а что вот это?
eval вне форума Ответить с цитированием
Старый 20.10.2012, 18:22   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Ну и как узнать ваще загрузила она сборку или нет?
В примере оно из гака тянет, а вашу откуда?
eval вне форума Ответить с цитированием
Старый 20.10.2012, 18:27   #8
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
test() а что вот это?
по идее класс zzzz....


какую сборку? ты о чем вообще?


я хочу класс из C# юзать в lua и все.
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Старый 20.10.2012, 18:41   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
по идее класс zzzz....
какую сборку? ты о чем вообще?
ууу, вам тогда бегом надо теорию штудировать, и понять что такое assembly, сборки и т.д.
eval вне форума Ответить с цитированием
Старый 20.10.2012, 18:48   #10
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
По умолчанию

Код:
using System;
using System.Collections.Generic;
using LuaInterface;
using System.Text;
namespace ConsoleApplication1
{
    public class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
            Lua lua = new Lua();
            lua.RegisterFunction("gg", program, program.GetType().GetMethod("gg"));
            lua.DoFile("test.lua");
            Console.ReadLine();
        }
        public zzzz gg()
        {
            return new zzzz();
        }
        
    }

 public class zzzz
    {
        public string Description = "";
        public string Name = "1";
     public void wr_name(){
         Console.WriteLine(Name);
 }
        public void GiveName(string name)
        {
            Name = name;
        }
    }
}
Код:
function test()
my_other_table = {}
my_other_table[1] = gg()
my_other_table[1]:wr_name()
my_other_table[1].name = "alex"
my_other_table[1]:wr_name()
end;
test()
Сделал так. То что нужно.. всем спасибо
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват клавиш + LuaInterface alex4321 C# (си шарп) 0 29.07.2012 08:56
Классы в C++ Etete Помощь студентам 0 21.05.2012 21:36
классы Dimarik Общие вопросы .NET 13 24.02.2010 00:09
Классы (C#) Andrey_k Помощь студентам 0 23.09.2009 20:56