We recently updated to the newest Xsharp (7), however a project that worked before, suddenly gives an error that I don't understand.
Here is the error:
Severity Code Description Project File Line Suppression State
Error XS9067 Interface method System.IDisposable.Dispose() and implementation IC2ExtLibForVO.WCFService.Dispose(params Vulcan.__Usual) have different calling conventions. IC2ExtLibForVO C:\XSharpProjects\IC2ExtLibForVO\IC2ExtLibForVO\WCFClientClassesViaVO.prg 27
We get this error in the following class/method, on the line "VIRTUAL METHOD Dispose() AS VOID"
CLASS WCFService IMPLEMENTS System.IDisposable
PRIVATE servicechannel AS System.ServiceModel.ChannelFactory // was: USUAL
PRIVATE address_http AS System.ServiceModel.EndpointAddress
servicechannel := NULL
VIRTUAL METHOD IClientChannel
VIRTUAL METHOD Dispose() AS VOID
CATCH exception1 AS System.ServiceModel.CommunicationException
What could be the cause of this and why would it pop up now and not with the older XSharp?
I am currently not really following the X# developments I have to say, at least until Intelissense works as it does in C# (which is not great but acceptable). I fully understand that this has no priority but VO works still fine for me so I don't mind.
About the error: Jelle was a bit reluctant to update because he always came across something which stopped working after an update. Usually because the compiler is stricter (and better) but he doesn't like to need to solve that kind of issues. I am sure that he did not change any compiler options so if /the vo5 option is now switched off it must have been a side effect of installing the new version.
I recommended him to re-install an older version and check once again with the latest version if it's fixed or has another solution like this /vo5 parameter. Installing and de-installing goes fast. We'll hear it Monday.