Re: Error trying to export class

Tony Kostanjsek <[email protected]>
Newsgroups gmane.comp.lang.lua.bind.user
Message-ID <[email protected]>
"MyPoint = point2d" should probably be "MyPoint = point2d()" if this is the 
original lua script.
You should get a descriptive error if you call a missing static function on a 
class, I just tried that. Maybe something else is wrong?What types exactly are 
"first + second" that you try to add in the last line of the function?


________________________________
Von: Ferran Ferri <[email protected]>
An: [email protected]
Gesendet: Freitag, den 31. Dezember 2010, 17:48:17 Uhr
Betreff: [luabind] Error trying to export class

Hello all, I have a question. I'm a newbie: First, this is my c++ code
#include <iostream>
#include <cstdlib>

extern "C" {
 #include "lua.h"
 #include "lualib.h"
 #include "lauxlib.h"
}

#include "luabind/luabind.hpp"

using namespace std;

class Point2D{
int _x,_y;
public:
Point2D():_x(0),_y(0){}
void setXYPoint(int x, int y){_x = x; _y = y;}
void printPoint(){std::cout << "X = "<<_x<<" Y = "<<_y<<"\n";}
void publishAPI(const lua_State* L){}
};


int main(){

lua_State *L = lua_open();

// Connect LuaBind to this lua state
luabind::open(L);
luaL_openlibs(L); 
luabind::module(L)[
luabind::class_<Point2D>("point2d")
.def(luabind::constructor<>())
.def("print",&Point2D::printPoint)
.def("setXY",&Point2D::setXYPoint)
];

// Define a lua function that we can call
luaL_dofile(L,"main.lua");
try{ 
std::cout << "Result: "
<< luabind::call_function<int>(L, "func", 2, 3)
<< endl;
lua_close(L);
}
catch(const std::exception& e){
std::cout << e.what() << std::endl;
}
return EXIT_SUCCESS;

}

And this is my lua script


function func(first, second)
 MyPoint = point2d
  MyPoint:setXY(3,4)
   MyPoint:print()
  return first + second
end

The only result I always get is "lua runtime exception". But the program 
compiles fine and it seems legal. Could you help me please? This is very similar 
to others samples.

Another question is: how do I get a more detailed error message? I always get 
"lua runtime exception" and I need a more comprehensive error

Thanks in advance.Ferran

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl

_______________________________________________
luabind-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luabind-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.