We're trying to add Box support to our application as we did for DropBox and have run into problems, at least with C++.
This code needs to get the folder info for later use with the Upload() function:
TBoxNetItems *FolderTest = NULL;
Box->GetFolderInfo("MyFolder", FolderTest); // Box is an instance of TAdvBoxNetDrive
Whether or not the folder named "MyFolder" exists at the root of the Box drive or not, FolderTest remains NULL and never receives a value. Thus it is impossible to upload any file into any folder, other than root, because we cannot obtain the TBoxNetItem pointer that the Upload() function requires.
Well I just installed version 188.8.131.52 and this issue has NOT been fixed. Now instead of getting a NULL pointer result in the TBoxNetItems pointer passed into the function, I get an Access Violation crash! Please fix ASAP!
Under specific circumstances an Access Violation could indeed occur. This has now been fixed.
Please note that TAdvBoxNetDrive functions a little different than TAdvDropBox because of the way the Box API works.
You'll first have to call AdvBoxNetDrive.GetFolderInfo to retrieve a list of files and folders, then select the specific Folder you wan to upload files to from the AdvBoxNetDrive.BoxNetDrive collection.
A general example for this technique can be found in the CloudStorageDemo application (included with the product download).
Doing a search for "GetFolderInfo" in your CloudStorageDemo application code yields zero results, which is strange since you said it would have to be called first. You demo application is very narrow in it's assumptions - primarily that user interaction and thus a TreeView are going to be used. However I have no need for user interaction or display, so using a TreeView is highly inefficient at best. A broader range of code testing scenarios would improve your products stability.