Your comments

Could you explain how to do this? I would think replacing the Licence.irl file in the project.irpz file should be enough but this doesn't seem to work.
Unfortunately I did just find a problem using this. When i load the project the demo license gets dropped from my iPad. The address for my modbus device also gets cleared. is it possible to fix this in some way?
This is an awesome feature, thanks!
This could be handy, but there should always be an option to add a license as well. If you want to test an application it should be matched to the real implementation as closely as possible. Normally, your option of ending the emulator after 15 minutes should not be a problem, except when there is a bug that only occurs after the application has ran for 30 minutes.
You might need to debug a scheduler for example.

Maybe it would be possible to insert a license when the emulator is started from the editor. You could then automatically close the emulator when the editor is also closed.
That's too bad, but thanks anyway!
For future reference, I solved my problem using this code:

var wheel = new Wheel();
var spokeWheel = new SpokeWheel();
IR.Log(wheel.rotates);
IR.Log(spokeWheel.rotates);
IR.Log(spokeWheel.hasSpokes);

function Wheel() {
    this.rotates = true;
}

function SpokeWheel() {
    Wheel.call(this);
    this.hasSpokes = true;
}


this returns "true" three times.
Hi Sergey,

Thanks for your reply.
Would it be possible to request this to be added as a feature then?
I think it would be very helpful for debugging purposes if you could generate a stack trace of some sorts, and then maybe even sending it by email if it is uncaught.
If you only know the message of the error and not where it is thrown it might be very difficult to find the cause.

If this is really not possible, what do you think is the best way of generating an error in Iridium itself?
I'm thinking of referencing null on purpose but maybe you have a better idea.
I would like this feature as well because you could then use it to add fonts that are only used in scripts.
(changing fonts by script has to work first to do this of course)
Hi Roger,

Thanks for your thorough explanation.
Setting the second parameter of the .Set method to null makes sense.
I'll try as soon as I'm back at the office, but I'm sure this will work.
Ok, lets expand on this:

Your code modifies the original variable a
so the following code returns:

456
123
123



var a = 456;

var func_b = function() {
    IR.Log(this.a);
}

function func_a(param_a) {
    a = 123;
    param_a();
}

IR.AddListener(IR.EVENT_START,0,function()
{
  IR.Log(a);
  new func_a(func_b);
  IR.Log(a);
});



the next piece of code returns:

456
456
123
456



var a = 456;

var func_b = function() {
    IR.Log(this.a);
}

function func_a(param_a) {
    this.a = 123;
    param_a();
   
    IR.Log(this.a);
}

IR.AddListener(IR.EVENT_START,0,function()
{
  IR.Log(a);
  new func_a(func_b);
  IR.Log(a);
});


That's a little better but i would like it to return:

456
123
123
456

but  the "this" of func_b is the one of the window and not of func_a. that is what call and apply is for, to change the assignment of "this".

My previous example was a bit flawed because it lacked the "new" keyword.
I hope it makes sense what i'm after now.