PDA

View Full Version : Comm.deliverOOBMessage -> ceffectively onverts all table data into strings?



Varsuuk
September 18th, 2019, 01:40
So I was working on the save handler via OOB and I noticed the original ruleset was calling tonumber() on stuff that seemingly went IN as a number when the OOB was created - or could be made to be number then instead (in theory, if multiple people receive the message it only needs to be converted once... sure, doesn't need to be "optimized" but as I was rewriting - why not do it "my" way)

Well, I was surprised to find even those I even tried literally assigning a literal like 10, it prints as s'Key=#10 but once in the handler that same msgOOB is now all string values. Annoying! lol - but simple to handle - do like everyone else and convert it back to what you know is needed.

Still figured was worth pointing out that: Comm.deliverOOBMessage(msgOOB, ""); does this.

EDIT: Tested the direct booleans - worse: if you send a bool value it is not converted to String - it appears to be discarded and NOT in the received msgOOB.

so sending
msgOOB.aT = true
msgOOB.aF = 0

The = s'0 goes through to receiver but the msgOOB.aT is neither s'1 nor s'TRUE -> it just does not get received.

Moon Wizard
September 18th, 2019, 06:53
This is expected behavior. Only strings and numbers are supported for input, and converted to strings. Other variable types and nested tables are ignored.

Regards,
JPG