by XenoG » 10 Sep 2018 20:07
Hi Alexander,
I built a test example to send to you, but whilst making the test example I discovered where the problem is.
There is a property of TIWCGJQPlotOptionsSeriesDefaults called FillAlpha. I had assumed that this property was a float/double, but I now know it is a UnicodeString.
I was applying a value of 50% to the FillAlpha using the following C++ code
jqSeries->FillAlpha = 0.5;
On servers that use the full-stop (period) as the decimal separator, this code works fine. On servers that use a comma as the decimal separator the results are catastrophic. Not only does the relevant chart go blank, but all other charts on the page also go blank.
I assume that the compiler is converting my float (0.5) into a UnicodeString ("0.5") at compile-time, which is invalid on French servers.
I found a simple way round the problem. I get the program to convert from float to UnicodeString at run-time by using
jqSeries->FillAlpha = 1/2;
This ensures that the cast to UnicodeString is done with the correct decimal separator for the server that the software is running on.
I'm not sure why the FillAlpha property is a UnicodeString as there would not be a string that could be applied at compile-time that would be valid on English and French servers. The property ShadowAlpha in the same class is a double, which seems more sensible.
Best regards,
Richard