Hallo Zusammen,
ich erstelle gerade ein Lua Skript für das Programm darktable.
Eigentlich komme ich mit Lua schon gut zurecht und viele Skripte laufen fehlerfrei.

Bei einem Skript habe ich allerdings ein großes Problem.
Ich möchte über eine Combobox (Auswahlfehlt) in Check Button (Kontrollkasten mit oder ohne Haken) steuern.

Das unten aufgeführte Skript funktioniert zwar, aber es kommt die folgende Fehlermeldung:
demo.lua:34: attempt to index global 'check_button1' (a nil value)
stack traceback:
[C]: in function '__newindex'


Was mache ich falsch?


local dt = require "darktable"

dt.configuration.check_version(...,{4,0,0})

-- add a new lib

local combobox = dt.new_widget("combobox")
{
label = "Combobox",
value = 1, "Button 1 is checked", "Button 1 and 2 is checked", "Nothing is checked",

changed_callback = function(selection)
if (selection.value == "Button 1 is checked") then
check_button1.value = true
check_button2.value = false
elseif (selection.value == "Button 1 and 2 is checked") then
check_button1.value = true
check_button2.value = true
elseif (selection.value == "Nothing is checked") then
check_button1.value = false
check_button2.value = false
end
end
}



check_button1 = dt.new_widget("check_button")

{
check_button1.label = "Button 1",
check_button1.value = true
}

check_button2 = dt.new_widget("check_button")
{
label = "Button 2",
value = false
}



dt.register_lib(
"demo", -- Module name
"demo", -- name
true, -- expandable
false, -- resetable
{[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100}}, -- containers
dt.new_widget("box") -- widget
{
orientation = "vertical",
combobox,
check_button1,
check_button2,
},
nil,-- view_enter
nil -- view_leave
)