If you declare a string as:
Dim fred as string * 256
' Then call a function
sid(fred)
' where the function sid() is declared as:
function sid(byref data as string)
data = "a bit of text"
end function
the text string isn't passed back to the variable in the call. If, however, fred is declared as:
Dim fred as string
the text string is passed back correctly.