Thanks Bart for your support
Happy to help!
Hi Bart, the problem was not solved, I tried the new file and now I get the following error
https://www.dropbox.com/s/yyrmw9ju9cu2huj/error1.png?dl=0 , if I comment the line the project compiles, but exactly in the upload function now I get this error https://www.dropbox.com/s/2mg0bauw4hog3uy/Error2.png?dl=0
Hi Camacho,
There was indeed still a possible issue with Upload on mobile platforms.
This has now been fixed and an incremental source update was provided by email.
Thanks Bart, it works now
Thank you for confirming the issue was resolved.
The fix will also be included with the next release of TMS FMX Cloud Pack.
Hi Bart, I was doing tests in my application and I just detected that the component has other errors, the file is loaded, but it is loaded in the root, it does not respect the folder that you are indicating in the Storage.Upload method (cifolderOS, fn), additionally I am not sure if the Storage.SearchList (folder, false, nil); function is working correctly, this is the code I use
if Storage.Connect then
begin
folder:=Storage.SearchList(carpeta, false, nil);
cifolder:=nil;
if folder.Count>0 then
cifolder:= folder.Items[0]
else
cifolder:=Storage.CreateFolder(nil,carpeta);
if cifolder=nil then
begin
MessageDlg('An error ocurred , the cloud folder not found , try again', TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOK], 0);
{$IFDEF IOS}
TwwPlatformServices.HideWaitDialog;
{$ENDIF}
exit();
end;
folderOS:=Storage.SearchList('OS'+inttostr(MD_Gral.MyQry_SoluHelpDesk.FieldByName('ahelp').value), false, nil);
if folderOS.Count>0 then
cifolderOS:= folderOS.Items[0]
else
cifolderOS:=Storage.CreateFolder(cifolder,'OS'+inttostr(MD_Gral.MyQry_SoluHelpDesk.FieldByName('ahelp').value));
if cifolderOS=nil then
begin
MessageDlg('An error ocurred , it was not possible to create the service order file in the cloud , try again', TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOK], 0);
{$IFDEF IOS}
TwwPlatformServices.HideWaitDialog;
{$ENDIF}
exit();
end;
for i := Low(rutas) to High(rutas) do
begin
fn := rutas[i].ruta;
try
ci :=Storage.Upload(cifolderOS,fn);
if Assigned(ci) then
begin
md_gral.MyQry_LinkHelp.close;
md_gral.MyQry_LinkHelp.open;
md_gral.MyQry_LinkHelp.insert;
md_gral.MyQry_LinkHelp.fieldbyname('helpdesk').value:=MD_Gral.MyQry_SoluHelpDesk.FieldByName('ahelp').value;
md_gral.MyQry_LinkHelp.fieldbyname('link').value:=(ci as TBoxNetItem).getShare;
md_gral.MyQry_LinkHelp.fieldbyname('tipo').value:=rutas[i].tipo;
md_gral.MyQry_LinkHelp.post;
end;
except
end;
end;
Can you help me?
Thanks
I have not been able to reproduce these issues:
-
Uploading a file into a subfolder is working when tested here.
Does the issue happen for any subfolder or only specific subfolders? -
The SearchList call returns all objects matching the Query string. Can you please describe exactly what is going wrong with the SearchList?
Hello Bart, the problem occurs in any subfolder, the problem with the searchlist is that it returns a value even though the folder does not exist and other times it cannot find the folder indicated, in my folder structure there are no files with the same name, this is the structure I am creating
Service(Folder)
------------ OS1983(Folder)
---------------------- File1
---------------------- File2
---------------------- File3
------------ OS1984(Folder)
----------------------File4
----------------------File5
I tell you that this code worked perfectly with the previous version of the component
Hi,
Uploading in subfolders is working as expected when tested here in the CloudStorageDemo.
I also haven't noticed any issues with the SearchList call. There haven't been any changes in this area of the component so I'm not sure what could be causing this.
On which platform(s) can you see the issue?
If the problem persists, can you please provide a ready to run sample project so I can further investigate this?
Hi Bart, in this link you can download the example https://www.dropbox.com/sh/sz2fjor83x73r0w/AABZehEJ9p0_xGUM420bxDOLa?dl=0, the component does not work on any platform
how to use it?
1.- fill in your account information and box folder.
2.- press the connect button, log into the account
3.-press the select button to select the image
4.-press the upload button to upload the file
Thank you
Hi Camacho,
We are investigating this issue and will report back as soon as possible.
The issue has now been fixed.
This will also require a change in your application code.
Please change the following lines:
cifolder:= nil;
if folder.Count>0 then
cifolder := folder.Items[0]
to
cifolder:= TBoxNetItem.Create(nil);
if folder.Count>0 then
cifolder.Assign(folder.Items[0])
The update will be available with the next release of TMS FMX Cloud Pack.
Thanks Bart any estimated release date ?, Can you send me an incremental file?
Hi Camacho,
The target for the next release is early next week.
You can request an incremental source update by sending an email to help@tmssoftware.com requesting the update.
Hi Bart, I just received the file and tested the component, I realize that you are still having problems in the searchlist method (really this already seems like a bad joke), you can try it with the same example that I sent you
thanks
Hi Camacho,
I'm unable to reproduce an issue with the SearchList method in the latest update.
Can you please make sure you made the suggested changes in your example from one of my previous posts?
If the problem persists, please explain exactly what is going wrong so I can further investigate this.
Hi Bart, the suggested changes were made, please see the video https://www.dropbox.com/s/lhsx9ua0c9jdb78/video-1603209565.mp4?dl=0 , the searchlist method returns anything, you can see the OS58 folder does not exist and the method is returning this japanese.xml file to me, therefore the file is not loaded in the correct folder
thanks
I'm not sure what is causing this issue on your side. The sample you provided is working as expected when tested here.
Can you please provide a log file so I can see what is happening in more detail?
To enable logging:
TMSFMXCloudBoxNetDrive1.Logging := True;
TMSFMXCloudBoxNetDrive1.LogLevel := llDetail;
The log file is automatically generated in the machine's Documents folder.
ok, I sent you the log by message
thanks