Poking around the template code, I see that there are at least a couple of ways to call rules from activity rulebooks:
e.g. BeginActivity(READING_A_COMMAND_ACT);
FollowRulebook(Activity_after_rulebooks–>READING_A_COMMAND_ACT);
Obviously, the former would be used if one were actually running an activity, the latter just to run a rulebook outside of an activity.
Built-in template activities have a constant defined like so:
Constant READING_A_COMMAND_ACT= 16;
Which matches a less user-friendly constant thus:
Constant V16_reading_a_command = 16;
User-defined activities seem to have only the latter type of constant defined, e.g.
Constant V34_parsing_a_command = 34;
The difficulty is that knowledge of this constant, or the name of it, appears to be required to invoke activity rulebooks as in the examples above, but I can’t see any way of reliably knowing what constant name or value will be allocated by the compiler and therefore no reliable way of invoking rulebooks from user-defined activities (or indeed any I7-defined rule) from I6 code.
The manual provides a means of referencing an I6-defined rule in I7 code, but not the other way round.
Is there a way to do this?