I refer to the following SOW post and the answer of Stuart Rossiter.
I thought it was right to open a new thread about this, as the problem can be looked at a little differently after all these years. Now I get the following error: "The method create_ShiftChange(double, TimeUnits) in the Main type is not applicable for the arguments (int, Integer)."
As I noted in my comment from Stuart Rossiter's solution, I believe the function create_ShiftChange(...)
had different input arguments a few years ago.
The cast from getTimeoutToNextValue()
to double
is not a problem. However, the cast of the second argument getNextValue()
from Integer
to TimeUnits
presents me with a challenge.
Does anyone have a solution for my problem or do I have to look for a detour, since the "old" create_ShiftChange(...)
also has a different meaning due to the other input arguments? Thanks for the help!
There hasn't been a change in the create_*
functions (methods) for dynamic events. There are two forms:
One where you explicitly specify the time units for when it should be scheduled (so with 2 initial arguments of type double
and TimeUnits
). TimeUnits
is a Java enum (effectively what an AnyLogic option list is under the covers) with values like TimeUnits.MINUTE
; auto-complete will show you the alternatives.
One where you implicitly assume the time units of the model as a whole, as in its properties (so with 1 initial argument of type double
).
The dynamic event in question has a single int
argument (i.e., its 'event-specific' data comprises just an integer), so the relevant create_*
function variants have this as their final argument (i.e., they have 3 and 2 arguments respectively).
In your case, you are not using a dynamic event with a single argument (otherwise the method create_ShiftChange(double, TimeUnits)
it's complaining about wouldn't exist — it would be create_ShiftChange(double, TimeUnits, int)
instead) and, since you've called it with two integers, the compiler (incorrectly) assumes you were trying to use the 2 argument form, hence the error message.
So either add the argument to the dynamic event or, if in your case you're using a different set of arguments (or no arguments) for your dynamic event, change accordingly.