Beijer Electronics (formerly QSI Corporation)

Manufacturer of Mobile Data and Human Machine Interface Terminals.
It is currently Fri Nov 24, 2017 12:20 am

All times are UTC - 7 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Wed Jun 03, 2009 10:18 am 
Offline

Joined: Wed Jun 03, 2009 8:47 am
Posts: 6
I read your previous post on the "interpreter stack blown" exception but it did not help. I created a new template that was an extension of MBRegisterV2 called SCADAReg. When I create an instance of SCADAReg in the layout view, I get an "interpeter stack blown" exception. I have tried including the template in the ModbusV2.qlib and my own library and the problem is still there. I haven't added any code to the instance but it seems to have something to do with the updateperiod from the exception info. I have tried to set the updateperiod in the instance and the problem still occurs. The error can be traced back to the following lines:

in ModbusV2: MBComV2 line 146
Code:
func _ProcessMBUpdatePeriod(updatePeriod as reference to integer, myObj as objref)
    if (updatePeriod mod 20) <> 0 then   ' error occurs on this line
        updatePeriod := (updatePeriod / 20) * 20
        #IF _TOOL tool_persist(updatePeriod) #ENDIF
    endif

...

i think this error is caused when the following code is triggered in core: corecommlabel line 59
Code:
protected func Zenabled (status as boolean)
    handles MSG_ZENABLED
#IF _TOOL_KEYINPUT
    if status then
        UserDirectMsg(default, MSG_SELECT_RECENT_FOCUSOBJ, 0 ,false)   ' error occurs on this line
    endif
#ENDIF
    default (status)
endfunc



The error is shown in both Layout view and causes the system to crash in Sim view.


Top
 Profile  
 
PostPosted: Wed Jun 03, 2009 10:48 am 
Offline
User avatar

Joined: Thu Mar 02, 2006 2:12 pm
Posts: 487
Location: Salt Lake City, Utah
I've been able to reproduce this, and tracked it down to a bug in the compiler. I don't have a great work around for this, it looks like this problem occurs at 4 deep inheritance. The only alternative I have is creating template copies of the MBRegister object, and using those templates.

I've logged this, and hopefully we'll have this resolved before our next release of Qlarity Foundry.

_________________
Ron L.

http://www.beijerelectronicsinc.com/


Top
 Profile  
 
PostPosted: Wed Jun 03, 2009 10:53 am 
Offline
QSI Support
QSI Support
User avatar

Joined: Wed Mar 08, 2006 12:25 pm
Posts: 881
Location: Salt Lake City, Utah
I would like to point out that inheritance should work to arbitrary depths and we do test accordingly. However, this combination of message handlers and calls to default() is something that we haven't seen before.

As Ron pointed out, the problem is not in your Qlarity or in any Qlarity code, the problem appears to be in the compiler (or possibly the runtime)

_________________
Jeremy
http://www.beijerinc.com


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 7 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group