project wxHMI: name 'wxglade_hmi' is not defined

Issue #41 closed
Anton Midyukov created an issue

Distributiv ALT Linux.

project wxHMIt is successfully collected and loaded into the software PLC, but when I start the PLC I get a loop:

PyEval@0x7fa7685fbac0(Code="wxglade_hmi.UpdPos()") Exception "Traceback (most recent call last):

  File "/usr/lib/python2.7/site-packages/beremiz/Beremiz_service.py", line 389, in default_evaluator
    res = (tocall(*args, **kwargs), None)

  File "<plc>", line 1, in <module>

NameError: name 'wxglade_hmi' is not defined

Used wxGlade-0.7.2

Comments (1)

  1. Andrey Skvortsov

    Fix wxHMI example after upgrading wxGlade

    Newer wxGlade generates code to initialize GridSizer's with empty elements.

    ... grid_sizer_1.Add(self.window_1, 1, wx.ALIGN_CENTER, 0) sizer_2.Add((0, 0), 0, 0, 0) sizer_2.Add((0, 0), 0, 0, 0) sizer_2.Add((0, 0), 0, 0, 0) sizer_2.Add((0, 0), 0, 0, 0) ...

    That causes following traceback, if new buttons are added to already full sizer.

    PLCobject : Traceback (most recent call last):

    File "./Beremiz_service.py", line 389, in default_evaluator res = (tocall(args, *kwargs), None)

    File "/tmp/tmpQS8ct2/runtime_0.py", line 540, in runtime_0_start wx.MessageBox(("Please stop PLC to close"))

    File "/tmp/tmpQS8ct2/runtime_0.py", line 504, in Init lambda axis:( MakeButtonFunc(self, sizer, axis+"axisMinus"),

    File "/tmp/tmpQS8ct2/runtime_0.py", line 502, in <lambda> lambda btname: MakeButtonFunc(self, sizer, btname), ActionButtons)

    File "/tmp/tmpQS8ct2/runtime_0.py", line 461, in MakeButtonFunc print sizer, btname

    File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/core.py", line 14453, in Add return _core.Sizer_Add(args, *kwargs)

    PyAssertionError: C++ assertion "Assert failure" failed at ../src/common/sizer.cpp(1401) in DoInsert(): too many items (11 > 2*5) in grid sizer (maybe you should omit the number of either rows or columns?)

    Tested with wxGlade version 0.8.3 Closes #41

    → <<cset 64bb520009f3>>

  2. Log in to comment