I’ve asked this question before, but I’m putting up a new Thread because I’m going to word it differently, as the problem still hasn’t resolved.
I am writing a ARM32 app for a client. He is running it on a Raspberry Pi, which is networked to a Odroid. (has to because Odroid is 64-bit, and I can’t do ARM64 in Xojo yet.) The app needs to write to the Odroid, to a folder called “wav”; the path is (as setup by the client) “.mnt/wav”.
I create a FolderItem for it, which is not Nil, IsWritable, and Exists. Then I try to write a file into that folder, and upon BinaryStream.Create I get a IOException, with error code 2. A zero-length file is created though. The BinaryStream object is still NIl so I can’t work with it. I don’t understand why this is happening.
Here’s more info. The client can easily access the Odroid folder via the Pi with all file operation commands (mv, etc.) No problems at all. When he looks at the folders permissions via ls -la, it shows 777. However, when I look at FolderItem.Permissions for that folder within Xojo, it returns 511 (Read and Executable). Why are they different?
This happens regardless if the app is run as sudo or not. In contrast the client can operate on that folder via the Pi regardless if he uses sudo or not. He has also chmod my app as 777 just to try, same problems.
My client has done everything he can and he’s really putting it over to me to solve the issue.
I want a solution where I can write this folder and not get these IOExceptions. Why am I getting these exceptions, and does the different Permissions values (Xojo vs. ‘ls -la’) shed any light?