Hello Mansour
>> "Did I miss something?"
Yes, read() is executed during runtime
When we use the Load command which is executed at compile-time, Ring move the current directory to the file folder (only during compile-time) so when we load a file, this sub file could load the files in the same folder by typing their names directly
But when the execution starts, i.e. during runtime
The current folder is the original current folder (i.e. Ring doesn't change the current folder)
This is very important so we can create tools that exist in ring/bin folder like Ring2EXE
where we can use these tools with files in other folders
So, to create a library like StzLib, it's expected to have it in specific folder relative to Ring folder
something like ring/libraries/stzlib
Then during Runtime, you can get the path to this folder using
C_STZLIB_PATH = exefolder()+"../libraries/stzlib"
Then use C_STZLIB_PATH as your starting point to access any sub folder/file during runtime
i.e. C_STZLIB_PATH + "base/data/unicodedata.txt
Greetings,
Mahmoud