Szerző Téma: Miért nil ez a változó?...  (Megtekintve 806 alkalommal)

Nem elérhető M1A1

Miért nil ez a változó?...
« Dátum: 2015. július 26. - 07:58:39 »
0 Show voters
Hellosztok!
Nemrég elkezdtem tanulni a Lua-t. Gyakorlásképpen egy info pickup készítőt írok. Valamiért hideGUI-nál a
mainWindow változó mindig nil, holott a GUI a képernyőn van, és a változóba elvileg eltároltam a főablak
elementjét... Előre is köszi a segítséget!
Spoiler for Kód::

local mainWindow
function showGUI()
if(mainWindow == nil) then
mainWindow = guiCreateWindow(606, 321, 194, 246, \"InfoPickups\", false)
guiWindowSetSizable(mainWindow, false)
guiSetVisible(mainWindow, true)
setElementData(mainWindow, \"buttonCreate\", guiCreateButton(10, 215, 66, 21, \"Create\", false, mainWindow), false)
setElementData(mainWindow, \"buttonDelete\", guiCreateButton(86, 215, 98, 21, \"Delete selected\", false, mainWindow), false)
local gridlist = guiCreateGridList(9, 29, 175, 176, false, mainWindow)
guiGridListAddColumn(gridlist, \"Name\", 0.5)
guiGridListAddColumn(gridlist, \"Position (X, Y, Z)\", 0.5)
setElementData(mainWindow, \"gridList\", gridlist, false)
bindKey(\"1\", \"down\", hideGUI)
end
end
function hideGUI()
if(not mainWindow == nil) then
guiSetVisible(mainWindow, false)
destroyElement(mainWindow)
unbindKey(\"1\", \"down\", hideGUI)
end
end
addCommandHandler(\"infopickups\", showGUI)

Nem elérhető Live

  • 507
    • Profil megtekintése
Miért nil ez a változó?...
« Válasz #1 Dátum: 2015. július 26. - 12:22:29 »
0 Show voters

local mainWindow = nil
function showGUI()
        if(mainWindow == nil) then
                mainWindow = guiCreateWindow(606, 321, 194, 246, \"InfoPickups\", false)
                guiWindowSetSizable(mainWindow, false)
                guiSetVisible(mainWindow, true)
                setElementData(mainWindow, \"buttonCreate\", guiCreateButton(10, 215, 66, 21, \"Create\", false, mainWindow), false)
                setElementData(mainWindow, \"buttonDelete\", guiCreateButton(86, 215, 98, 21, \"Delete selected\", false, mainWindow), false)
                local gridlist = guiCreateGridList(9, 29, 175, 176, false, mainWindow)
                guiGridListAddColumn(gridlist, \"Name\", 0.5)
                guiGridListAddColumn(gridlist, \"Position (X, Y, Z)\", 0.5)
                setElementData(mainWindow, \"gridList\", gridlist, false)
               
                bindKey(\"1\", \"down\", hideGUI)
        end
end
function hideGUI()
        if mainWindow then
                destroyElement(mainWindow)
               
                unbindKey(\"1\", \"down\", hideGUI)
        end
end
addCommandHandler(\"infopickups\", showGUI)

Nem elérhető M1A1

Miért nil ez a változó?...
« Válasz #2 Dátum: 2015. július 26. - 13:12:45 »
0 Show voters
OK, így már működik, viszont még mindig nem értem, hogy a \"nem egyenlő a semmivel\" kifejezés miért nem működött... Plusz a destroyElement után is nullázni kell a változót. Kösz a segítséget! Zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal