I've started looking at XSharp and the conversion of our VO28 applications.
Our VO28 applications use both RightSLE and FabPaint.
Have tried Xporting the latest download Vulcan versions of these tools but am running into similar problems with both.
Class definitions like:
CLASS wmBitmapFromDisk INHERIT Bitmap
Generate this error:
XS0246 The type or namespace name 'Bitmap' could not be found (are you missing a using directive or an assembly reference?)
And am also getting a couple of these:
XS1703 Multiple assemblies with equivalent identity have been imported: 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll' and 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll'. Remove one of the duplicate references.
I suspect the libraries versions are a bit old, generated with an early ( <= 2.0) version of Vulcan.NET. Try removing all the references from your exported x# solution and add them again.
If you have vulcan installed in your machine, you should find the correct ones in <program files/vulcan folder>\Redist\Assemblies\v4.0. Typically you will need to add references to VulcanRT.dll, VulcanRTFuncs.dll and VulcanVOSystemClasses.dll, VulcanVOWin32APILibrary.dll, VulcanVOGUIClasses.dll, VulcanVORDDClasses.dll.
You will also possibly need a reference to the System dll, you can do that from the ".Net" page in the Add reference dialog.
If you still get errors, you can zip and post the solutions either here or directly to me or Robert so we can have a close look.
Thanks for the replies - am making some progress now.
Have added the references again and to get rid of the namespace errors I set 'Enable Implicit Namespace lookup' in the Language Properties section - is there something I should code to avoid having to set that?
The matter with this option is that in the SDK that comes with vulcan, the classes have been prefixed with the Vulcan.VO namespace, so for example DataWindow has become Vulcan.VO.DataWindow. So normally you would need to specify your class names with the full name (LOCAL oWin AS Vulcan.VO.DataWindow), or add a "USING Vulcan.VO" statement in the beginning of all your prg files. The option "Enable Implicit Namespace lookup" instructs the compiler to always do that for you implicitly, so you don't need to worry about it.