Unref userdata do REGISTRYINDEX

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Unref userdata do REGISTRYINDEX

Anderson Pimentel
Pessoal, estou utilizando o REGISTRYINDEX para guardar informações de userdata.

Utilizo da seguinte forma:


lua_pushstring(statekey ); 
lua_pushvalue(state,-2); //copia o userdata
lua_settable(stateLUA_REGISTRYINDEX); // registryindex[key] = userdata


Então, isso funciona corretamente. 

Minha dúvida é como liberar essa referência. Alguém pode dar uma dica?
--
Att, Anderson Pimentel

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Unref userdata do REGISTRYINDEX

Lourival Vieira Neto
2013/11/18 Anderson Pimentel <[hidden email]>:

> Pessoal, estou utilizando o REGISTRYINDEX para guardar informações de
> userdata.
>
> Utilizo da seguinte forma:
>
>
> lua_pushstring(state, key );
> lua_pushvalue(state,-2); //copia o userdata
> lua_settable(state, LUA_REGISTRYINDEX); // registryindex[key] = userdata
>
>
> Então, isso funciona corretamente.
>
> Minha dúvida é como liberar essa referência. Alguém pode dar uma dica?

Você pode definir esse campo como nil:

lua_pushnil(state);
lua_setfield(state, LUA_REGISTRYINDEX, key);

--
Lourival Vieira Neto

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Unref userdata do REGISTRYINDEX

Anderson Pimentel
Ok.


Em 18 de novembro de 2013 15:53, Lourival Vieira Neto <[hidden email]> escreveu:
2013/11/18 Anderson Pimentel <[hidden email]>:
> Pessoal, estou utilizando o REGISTRYINDEX para guardar informações de
> userdata.
>
> Utilizo da seguinte forma:
>
>
> lua_pushstring(state, key );
> lua_pushvalue(state,-2); //copia o userdata
> lua_settable(state, LUA_REGISTRYINDEX); // registryindex[key] = userdata
>
>
> Então, isso funciona corretamente.
>
> Minha dúvida é como liberar essa referência. Alguém pode dar uma dica?

Você pode definir esse campo como nil:

lua_pushnil(state);
lua_setfield(state, LUA_REGISTRYINDEX, key);

--
Lourival Vieira Neto

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Att, Anderson Pimentel

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.