Real ByRef for string variables - AddressOf(stringvar.s)

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Marlin
Enthusiast
Enthusiast
Posts: 406
Joined: Sun Sep 17, 2006 1:24 pm
Location: Germany

Real ByRef for string variables - AddressOf(stringvar.s)

Post by Marlin »

I would like to have a way to get the address of string variables,
to be ably to pass any string variable by reference
(like many other programming languages support),
so that string variables can be out parameters of procedures.

I suggest:

Code: Select all

AddressOf(Stringvar.s)
to return the address of the string variable Stringvar.s.
(As opposed to @Stringvar.s, that returns the address of the string data (byte array))

This can then be used like:

Code: Select all

...
Define OutString1.s
Define OutString2.s
...
Procedure MyProcedure(<inParameters>, pOutString1.String, pOutString2.String, ...)
  ...
  pOutString1\s = outresult1
  pOutString2\s = outresult2
  ...
EndProcedure
...
MyProcedure(<inParmeters>, AddressOf(OutString1), AddressOf(OutString2), ...)
...
or like:

Code: Select all

...
Define StringA.s
...
*StringVarRefA = AddressOf(StringA)
...
I have started to discuss this topic here
and came to the conclusion, that it should be a feature request.