fbpx

error XS0208: Cannot take the address ... a pointer for using @ for ref variable

More
2 years 2 months ago #1 by Arne Ortlinghaus
I have many compiler errors when calling functions with ref variables with the @.
Is there a possibility that you can changes this?

function FGetDir (cFullFileName)
//p Return of the drive/directory for a full filename
local cDrive, cDir, cFile, cExt as string
FSplitPath(cFullFileName, @cDrive, @cDir, @cFile, @cExt)

// The following would resolve it, but there is no possibility to use the same syntax in VO:
// FSplitPath(cFullFileName, ref cDrive, ref cDir, ref cFile, ref cExt)
return cDrive+cDir

function FSplitPath(cPath as string, ;
cDrive ref string, ;
cDir ref string, ;
cFile ref string, ;
cExt ref string) as void
...

Thank you
Arne Ortlinghaus

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #2 by Chris Pyrgas
Hi Arne,

We implemented this feature (with the use of the/vo7 compiler option) just a few days ago! As I said in another post, there are fixes and improvements literally every day...

Do you need this "now"? If yes, it is not difficult for us to upload our latest set of compiler dlls in the subscribers' area so you can download it.

Chris

XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #3 by Arne Ortlinghaus
Hi Chris,

very nice, that you have implemented it.
I don't need it immediately, I can wait for the next version. I am currently making conversion tests and this is not the only compiler error I get currently.

I was astonished that the X# Compiler identified some risky parts I didn't realize before. Marking a statement like
x := x
is a nice help for identifying wrong or useless code.

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #4 by Robert van der Hulst
Arne,

ArneOrtlinghaus wrote: Hi Chris,

Marking a statement like
x := x
is a nice help for identifying wrong or useless code.


We have introduced the NOP keyword, which could be usefull if you want to include an empty ELSE or OTHERWISE branch in your code for documentation purposes. The NOP keyword generates no code but is seen as a valid statement. (Like an extra semi colon in C#)

Robert

XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #5 by Arne Ortlinghaus
Robert,
this is good. When starting with VO we defined a function Nop() which does the same purpose, but a keyword NOP is surely better.

Please Log in or Create an account to join the conversation.