FUNCTION SYSGetUserName
LOCAL lcUserName, lnBufSize, RetCode, NullCharPos
lcUserName = REPLICATE(CHR(32), 80)
lnBufSize = 80
Declare Integer GetUserName IN WIN32API String @lpBuffer, Integer nSize
RetCode = GetUserName(@lcUserName, lnBufSize)
CLEAR DLLS
NullCharPos = AT(CHR(0), lcUserName)
IF NullCharPos > 0 THEN
lcUserName = LEFT(lcUserName, NullCharPos - 1)
ELSE
lcUserName = ""
ENDIF
RETURN lcUserName
ENDFUNC
>
>Try adding the @ sign infront of lcUserName in the call to GetUserName, so it is called "By Reference".
>
>Btw. There is a command for everything and I'm still finding new stuff every week. Instead of
REPLICATE(CHR(32), 80), you could do a
SPACE(80)>
>Hope that helped,
Thanks for the quick answer!
I tried that (adding the @) but it didn't work (same error message.) Plus, I knew about the SPACE function but prefered using REPLICATE because, at the beginning, I was filling the string with null characters (chr(0)).
What next?
Stephane.