with change to X#-Compiler version 18.104.22.168 (Bandol Beta 8 ) we get a new warning regarding DIM arrays that we didn't get with version 22.214.171.124 (Vulcan.Net dialect) .
We have enabled X# Compiler Option /vo2 (initialize all variables and fields of type STRING and all elements of DIM ... AS STRING arrays to an empty string) for VO/Vulcan compatibility.
PROTECT DIM aDimArray AS STRING
produces now a warning (for line of class definition): XS0029: Cannot implicitly convert type 'string' to 'string'
Is this warning intended or is this a bug?
If you declare the DIM array in a method it seems ok: PRIVATE METHOD Test(i AS INT) AS STRING
LOCAL DIM aDimArray2 AS STRING
Thanks for the sample, but unfortunately I still cannot reproduce it! I am using a newer version of the compiler, but reverted to the old Beta 8 one and still cannot see it. Can somebody else please do a quick test with the Solution Thomas posted and tell me if you do get the "Cannot implicitly convert type..." warning?
Thomas, can you please post a screenshot of the warning you get? It might give an idea on what's causing it.
(Edit: Now that I am thinking about it, could it be not a regular warning in the Errors window that you are seeing, but an "Assertion failed" popup dialog window instead?)
Sorry Thomas, you are right of course, I thought I had reverted to the original Beta 8 compiler version but apparently I didn't, my backup was of a newer version. I completely installed back the Beta 8 and I can now easily reproduce the problem, apparently Robert fixed this after the release.
I can send you an updated compiler version, which runtime are you using in your apps, the vulcan or the X# one?
I apologize, should had contacted you earlier about this, but unfortunately I still do not have a stable new version available to send you. For now, please use the Beta 7 version and as soon as Robert has a newer version ready, I will send it to you.
Great to hear, just a warning though, I just saw there's still an issue with LOCAL DIM arrays, those do not get initialized to empty strings when /vo2 is enabled. I have logged it for Robert to fix it, but in the meantime please check if you are using any in your code. Class DIM arrays (single-dimenion) work fine.