Using compiler variable as key in index wizard don't work - install4j

With intall4J, I created an index wizard. To define steps Key/Values (step name), I used compiler variables.
The Index wizard is showed correctly. Compiler variable works fine for values (steps name).
Case 1
Using compiler variable to define Key in Index Wizard -> Steps
Using compiler variable in Initial key, Step key.
The step is not activated
Case 2
Using compiler variable to define Key in Index Wizard -> Steps
Use the same values as those defined in the compiler variables in Initial key, Step key
The step is activated
Is there a way to use compilation variables to change the index?
(Install4J version: 6.1.6)

Thanks for the bug report. This will be fixed in 9.0.6. Please ask support#ej-technologies.com for a build where this fix is already implemented.

Related

Modelica: Is there a possibility to keep old default values in model in case of changed or deleted values in a newer library version?

Developing a model library in modelica we decided to change and delete some default values. At the moment I'm writing the conversion script to make sure that there are no problems updating the library while using it in another model.
Is there a possibility to keep old default values in case of deleted or changed and renamed values in a newer library version?
I'm aware of the possibility to keep the model values given in the model using the library with convertElement/ convertModifiers.
Example:
Old version of the model in the library exampleLib:
model modelLib
parameter Real exampleVal = 2;
end modelLib;
New version of the model in the library exampleLib:
model modelLib
parameter Real exampleValNew;
end modelLib;
If the value would be given in 'exampleModel' with
model exampleModel
exampleLib.modelLib exampleLibTest(exampleVal = 4)
end exampleModel;
a conversion script like
convertModifiers("exampleLib.modelLib", {"exampleVal"}, {"exampleValNew=%exampleVal%"});
would make sure that the parameter in exampleModel would be kept.
Is there any possibility to keep the default if there is no value given in 'exampleModel'?
In this case the code of the model using the library would be:
model exampleModel
exampleLib.modelLib exampleLibTest;
end exampleModel;
I'm grateful for any help!
In some cases the following might also be an option.
It's a completely different solution as it keeps the default value in the library - but in a different way. That is done by having the following in the new library:
model modelLib
parameter Real exampleValNew(start=2);
end modelLib;
Your old models that don't specify a value will run, but generate a warning.
To rename a parameter or a variable without touching any of its modifiers use
convertElement("exampleLib.modelLib", "exampleVal", "exampleValNew");
I solved the problem with:
convertModifiers("exampleLib.modelLib", fill("",0), {"exampleValNew=2"});

Process Workflow: Given key is not present in the dictionary in UiPath

I am doing UiPath level-3 Assignment 1. I have made all the workflows using Ui Studio and I am stuck in the process workflow. While I run the WFs, it says
Process WF: Given dictionary is not present.
I checked all the values and arguments and they seem correct too.
Also when I run the Process WF separately, it gets stuck for each loop and say
object reference not set to an instance of an object.
Could someone help resolving these issues? Thanks in advance.
You are passing null value/trying to get value from dictionary using the key which doesn't exist. Please also remember that before using dictionary you have to create it.
It will be easier to help if you can provide status window logs at least.
As you said - I checked all the values and arguments and they seem
correct too.
So just check for spaces in your config file from where you are reading data and putting them in Dictionary.
Second Possibility
which seems to me is just check your arguments via which you are passing your configuration dictionary to your workflow. are you passing it from main workflow to your child workflows.
just double check your arguments.
Regards..!!
Aksh

Using Conditional Syntax (Overrides) in BitBake

Reading a book on Yocto. Got to the following page, which says:
BitBake provides a very easy-to-use way to write conditional metadata.
It is done by a mechanism called overrides.
The OVERRIDES variable contains values separated by colons (:), and
each value is an item we want to satisfy conditions. So, if we have a
variable that is conditional on arm, and arm is in OVERRIDES, then the
version of the variable that is specific to arm is used rather than
the non-conditional version, as shown:
OVERRIDES = "architecture:os:machine"
TEST = "defaultvalue"
TEST_os = "osspecificvalue"
TEST_other = "othercondvalue"
In this example, TEST will be osspecificvalue due to the condition
of os being in OVERRIDES.
I'm unclear from this explanation how did TEST become equal to osspecificvalue. Would someone be able to explain it?
Bitbake implements it's own dictionary data structure based on Python's MutableMapping in lib/bb/data_smart.py. The goal is to create a dictionary with more flexibility in that each value in the "key,value" pair can be overridden based on specific identifiers.
If you look at how the variables in this dictionary are set, you will see that the datastore allows "overrides" of variables based on a list of override identifiers. These identifiers are expected to be appended with an underscore, like in your example of "TEST_os".
In the case you are referencing, "other" identifier is not in the list of OVERRIDES, so this "smart dictionary" does not override the value of TEST with "othercondvalue". However, because the "os" identifier is in the list of OVERRIDES, the value of TEST is indeed overridden with the value "osspecificvalue".
I would highly recommend reading through the DataSmart class as this is a very simplified explanation, but hopefully it helps.
Also, see the BitBake manual entry for OVERRIDES for more information.

Can't change Model Reference from GUI

EDIT: I decided to add screenshots of the important parts of the model, hopefully that will help clear things up.
I launch a model from a GUI, and depending on what options are selected in the GUI, some model references should change. Currently, the model reference is set up as follows:
I then define the following workspace variables in the model launch script:
Despite that, I get the following error:
According to MATLAB documentation for Simulink.Variant(), the variant condition must be:
a boolean expression that references at least one base workspace
variable or parameter (Reference)
Your error message is telling you that you are failing to define an appropriate variant condition. You define cs_Version in your callback, but it does not exist in the base workspace. You must assign cs_Version to the base workspace, using the assignin method:
assignin ( 'base' , 'cs_Version' , cs_Version );
This piece of MATLAB documentation describes a model that uses variant controls mode and version, which must be assigned to the base workspace using the command line.

Global launch configuration in Eclipse?

This seems like a simple thing, but I can't find an answer in the existing questions:
How do you add a global argument to all your present and existing run or debug configurations? In my case, I need a VM argument, but I see that this could be useful for runline arguments as well.
Basically, every time I create a unit test I need to create a configuration (or run, which creates one), and then manually edit each one with the same VM argument. This seems silly for such a good tool.
This is not true. You can add the VM arguments to the JRE definition. This is exactly what it is for. I use it myself so that assertions are enabled and heap is 1024mb on every run, even future ones.
Ouch: 7-years bug, asking for running configuration template, precisely for that kind or reason.
This thread proposes an interesting workaround, based on duplicating a fake configuration based on string substitution:
You can define variables in Window->Preferences->Run/Debug->String Substitution. For example you can define a projectName_log4j variable with the
correct -Dlog4j.configuration=... value.
In a run configuration you can use ${projectName_log4j} and you don't have to remember the real value.
You can define a project-specific "empty" run configuration.
Set the project and the arguments fields in this configuration but not the main class. If you have to create a new run configuration for this project select this one and use 'Duplicate' from its popup-menu to copy this configuration.
You have to simply set the main class and the program arguments.
Also you can combine both solutions: use a variable and define an "empty"
run configuration which use this variable. The great advantage in this case
is when you begin to use a different log4j config file you have to change
only the variable declaration.
Not ideal, but it may alleviate your process.