hba 发表于 2010-9-15 17:46:37

【MUSH】461版本和MiniWindow的问题

下了个Mush 461版本,ddid的fullme没问题,但领悟机器人的miniWindow却出不来,而且没任何报错。
稀奇啊,仔细对照两个drawWindow函数,大同小异啊,最大的区别可能就是fullme的插件不涉及中文,而领悟的有中文显示。难道是中文问题?
有谁在用461的?

ddid 发表于 2010-9-15 17:50:08

昨天才看到Gammon的Announce,还没来得及下。

ddid 发表于 2010-9-15 17:51:48

另,461已经替代443,成为了MUSH的官方版本,小刀的443集成版估计也快该升级了。

hba 发表于 2010-9-15 21:54:04

我又下了一个443的来作对比测试,确实是461的改进导致我的miniwindows不能工作了,同样的一段代码模块,同样的环境配置,443下跑得正常,而461出不来miniwindow且没报错信息。
我已经精简了代码,去掉了所有的变量和汉字,依然是出不来。是什么原因呢?ddid帮看看吧。

我的代码():
---------miniwindows 模块------------

--字体
FONT_NAME1 = "Arial"
FONT_NAME2 = "Webdings"
FONT_NAME3 = "Lucida Console"
FONT_SIZE_11 = 11
FONT_SIZE_12 = 12
--尺寸
EDGE_WIDTH = 3
--位置
WINDOW_POSITION = 6-- see below (6 is top right)
--[[
常用的位置:
4 = top left
5 = center left-right at top
6 = top right
7 = on right, center top-bottom
8 = on right, at bottom
9 = center left-right at bottom
--]]
-- colours
WINDOW_BACKGROUND_COLOUR = ColourNameToRGB ("white")
BOX_COLOUR = ColourNameToRGB ("royalblue") -- Box boarder's colour
WINDOW_TEXT_COLOUR = ColourNameToRGB ("black")
-- offset of text from edge
TEXT_INSET = 5
-- get a unique name
win = GetPluginID ()-- get a unique name
-- end configuration

function draw_window()
    -- window size in pixels
    WINDOW_WIDTH = 250
    WINDOW_HEIGHT = 220
    -- Create the window
WindowCreate (win, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_POSITION, 0, WINDOW_BACKGROUND_COLOUR)-- create window
               
    -- define the fonts
WindowFont (win, "f1", FONT_NAME1, FONT_SIZE_12)
WindowFont (win, "f2", FONT_NAME2, FONT_SIZE_11)
WindowFont (win, "f3", FONT_NAME1, FONT_SIZE_12, true)
WindowFont (win, "f4", FONT_NAME3, FONT_SIZE_11, true)
    -- work out how high the font is
font_height = WindowFontInfo (win, "f1", 1)   -- height of the font
    -- draw the border of the whole box
WindowCircleOp (win, 2, 0, 0, 0, 0, BOX_COLOUR, 6, EDGE_WIDTH, 0x000000, 1)
    -- ensure window visible
    local head_width   = (WINDOW_WIDTH - WindowTextWidth (win, "f1", "Test List"))/2

    for i = 1,10 do
      local txt2 = i
      local _high = i*20 + 25
      WindowText (win, "f1",
                  txt2,   -- text
                  5, _high, 0, 0,      -- rectangle
                  ColourNameToRGB ("blue"), -- colour
                  false)            -- not Unicode
    end
WindowShow (win, true)
end

ddid 发表于 2010-9-15 22:04:02

killunix之前在Gammon的官网发了个帖子,你试试看:
http://www.gammon.com.au/forum/?id=10557

lzkd 发表于 2010-9-15 22:04:23

最近我忙征文的事情,这个事情结束后,就转到MUSH上来

ddid 发表于 2010-9-15 22:17:28

试了一下,把win = GetPluginID ()改成win = GetUniqueID()就可以了。

hba 发表于 2010-9-15 22:46:35

原帖由 ddid 于 2010-9-15 22:17 发表 http://www.pkuxkx.com/forum/images/common/back.gif
试了一下,把win = GetPluginID ()改成win = GetUniqueID()就可以了。


恩人啊,的确是这问题。
这下舒服了。。。

ddid 发表于 2010-9-15 23:58:24

原帖由 lzkd 于 2010-9-15 22:04 发表 http://pkuxkx.com/forum/images/common/back.gif
最近我忙征文的事情,这个事情结束后,就转到MUSH上来

好。

hba 发表于 2010-9-26 23:26:58

原帖由 ddid 于 2010-9-15 22:17 发表 http://www.pkuxkx.com/forum/images/common/back.gif
试了一下,把win = GetPluginID ()改成win = GetUniqueID()就可以了。

又发现新问题了,这样虽然不报错,也能出miniwindow。但窗口里的数据不刷新了。
哪怕数据有了变化,也运行了miniwindow的函数,但数据就是不更新,何解?
页: [1] 2 3
查看完整版本: 【MUSH】461版本和MiniWindow的问题