Why am I getting this exception if I pass lambda instead of a method name to self.onLayoutFinish.append? For testing purposes I just called method in lambda.
self.onLayoutFinish.append(self.randomPosition) # works
self.onLayoutFinish.append(lambda: self.randomPosition()) # does not work
Trace:
File "/usr/lib/enigma2/python/mytest.py", line 327, in open
dlg = self.current_dialog = self.instantiateDialog(screen, *arguments, **kwargs)
File "/usr/lib/enigma2/python/mytest.py", line 265, in instantiateDialog
return self.doInstantiateDialog(screen, arguments, kwargs, self.desktop)
File "/usr/lib/enigma2/python/mytest.py", line 294, in doInstantiateDialog
dlg.applySkin()
File "/usr/lib/enigma2/python/Components/GUISkin.py", line 114, in applySkin
File "/usr/lib/enigma2/python/Components/GUISkin.py", line 45, in createGUIScreen
TypeError: exec: arg 1 must be a string, file, or code object
Edited by JasonM8, 7 July 2018 - 12:14.