NSInvalidate()がない?
公式掲示板に書いた内容を転載。
nslua.dll の件で。
NSInvalidate() が変です。
たとえば、
NSOkBox(type(math.floor), "type") NSOkBox(type(NSPopInt), "type") NSOkBox(type(NSInvalidate), "type")これを実行すると、function, function, nilが戻ってきます。
NSInvalidateの名前を間違っているか、外から見えるようになっていないか、どうかしているのではないかと思います。確認よろしくお願いします。
ぶっちゃけ、実装されてねーよと。
後、これは微妙な問題なので、どう表現するべきか迷っている問題。
lua側で、
NSSpLoad(0, ":s/26,26,0;#FFFFFF#000000文字列") NSSpMove(0, 0, 0, 255) NSSpCell(0, 0)
とした後、NScripterに処理を戻して、
print 1
とした場合、どういう訳かcellの値が最大値になっているような。(つまり、上記の場合文字が黒い)
NSUpdate()の時はそういうことはないので、やはり、print 1とNSUpdate()の微妙な違いに引っ掛かっているような。
どうしたもんだべか。
この問題で不都合な点は何かと言えば、lspのような命令をluasubした場合。
*define luasub lsp game *start lsp 0,":s/26,26,0;#FFFFFF#000000文字列",0,0 print 1 click end
system.lua側には、lspと同等のNSCOM_lspを組んでおくが、実行してみると文字が黒い。うーむ。
明示的に無効領域を追加するのもありかなと思ったら、NSInvalidate()が死んでて困ったのさ。