EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Dropbox again Download-problem

Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.
#25519
Posted: 07/03/2013 04:52:02
by Wolfgang Denz (Standard support level)
Joined: 09/24/2008
Posts: 17

Hello Eldos,

I can navigate through my Folders on Dropbox now and I also see the files in those folders.
But when I try to download a file I get an error "404, message not found"

My code looks as follows:
Code
//tempStream ... is created
//Obj refers to a Fileobject in Dropbox; Path, Filename, Size is set so
//Obj should be valid
...
if Obj.Exists then
    begin
    Obj.Read(tempStream); -> exception here
    elDropboxStorage.ReadObject(Obj.Path, tempStream); -> same exception here
    end


Plase give me a hint
Wolfgang
#25520
Posted: 07/03/2013 06:30:13
by Ken Ivanov (EldoS Corp.)

Hello Wolfgang,

Two questions:

1. Does the name of the object contain any international (non-ASCII) characters?

2. Please try to hard code the object path passed to the TElDropboxDataStorage.ReadObject() method right into the code (e.g. elDropboxStorage.ReadObject('/somedir/somefile', tempStream)) and check if this call exposes the same problem.
#25521
Posted: 07/03/2013 06:44:18
by Wolfgang Denz (Standard support level)
Joined: 09/24/2008
Posts: 17

Hello Ken,

the name/path is as follows:
/BVK-iCloudSync/Archiv.pdf

The error also occurs if I hardcode the file in my download-procedure.
The method obj.Exists returns true for the file.

Regards
Wolfgang
#25522
Posted: 07/03/2013 07:00:53
by Ken Ivanov (EldoS Corp.)

Hello Wolfgang,

And how exactly are you getting the 404 error? Is it thrown as an exception from the ReadObject() method or is it returned to you via some other means?

The reason why I am asking is that HTTP 404 "File Not Found" error indeed may occur on some intermediate stage of the ReadObject() method (when the component requests a metadata file which is likely to be absent in your environment), but it should be handled internally and not exposed to the component user. It will be shown in the HTTP component output (e.g. TElHTTPSClient.OnData event) though.

If the 404 error is promoted to your code via an exception, could you please handle the OnReceivingHeaders and OnData event of the TElHTTPSClient object, dump their output somewhere (TMemo control will do), and post it here so that we could have a look at it? I believe it would better be done in Helpdesk rather than here in the public forum to preserve privacy.
#25523
Posted: 07/03/2013 08:54:01
by Wolfgang Denz (Standard support level)
Joined: 09/24/2008
Posts: 17

Hi Ken,

I get an exception frokm ReadObject, but the funny thing I realized later is, that the file is retrieved anyway...

So at the moment I catch and ignore the exception 404 :-)

Regards
Wolfgang
#25526
Posted: 07/03/2013 12:02:35
by Ken Ivanov (EldoS Corp.)

Hello Wolfgang,

Looks strange, as metadata request (which potentially can lead to error 404) is performed before downloading the actual data - that is, if it has failed, no data would have been retrieved. Could you please catch the call stack of the exception and post it here?
#25542
Posted: 07/05/2013 02:16:50
by Wolfgang Denz (Standard support level)
Joined: 09/24/2008
Posts: 17

Hello Ken,

Here's the callstack.
By the way... [QUOTE]a call to f.e Obj.Read(tempStream) takes really a lot of time until th onProgress-callback of the http-comnponent fires and returns some action


Code
:75b3c41f KERNELBASE.RaiseException + 0x58
SBDropboxDataStorage.TElDropboxDataStorage.DSRawReadBlock(-1,-1,$2EA5E00,0,nil,$2EA71E0,(nil,nil))
SBDropboxDataStorage.TElDropboxDataStorage.DSRawReadObject($2EA5E00,???,$2EA71E0,(nil,nil))
SBDropboxDataStorage.TElDropboxDataStorage.DSGetSecMetadata(???,???,'')
SBDataStorage.TElCustomDataStorage.DSReadObject($2EA63E0,nil,$2EA7140,nil)
SBDropboxDataStorage.TElDropboxDataStorage.ReadObject(???,???,$2EA63E0)
SBDropboxDataStorage.TElDropboxDataStorage.ReadObject(???,???)
:007AF830 Sbdropboxdatastorage::TElDropboxDataStorage::ReadObject(Self=????, Path=????, Strm=????)
MainUnit.TForm1.FileListDblClick($2E3C5A0)
Vcl.Controls.TControl.DblClick
Vcl.StdCtrls.TCustomListBox.CNCommand(???)
Vcl.Controls.TControl.WndProc((48401, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((48401, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.StdCtrls.TCustomListBox.WndProc((48401, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.Controls.TControl.Perform(???,???,4458188)
Vcl.Controls.DoControlMsg(???,(kein Wert))
Vcl.Controls.TWinControl.WMCommand((273, (), 1740, 2, (), 4458188, 0))
Vcl.Forms.TCustomForm.WMCommand((273, (), 1740, 2, (), 4458188, 0))
Vcl.Controls.TControl.WndProc((273, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((273, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.Forms.TCustomForm.WndProc((273, 132812, 4458188, 0, 1740, 2, (), 1740, 68, (), 0, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
#25544
Posted: 07/05/2013 04:11:59
by Ken Ivanov (EldoS Corp.)

Wolfgang,

Thank you for the call stack. We have reviewed the code and ensured that the DSRawReadObject() call inside the DSGetSecMetadata() method is enveloped with a try/except block. That's why I assume that you are probably using an outdated version of the components. Could you please upgrade to the latest version available (11.0.237, which is beta), and check if it still exposes the problem?

Quote
a call to f.e Obj.Read(tempStream) takes really a lot of time until th onProgress-callback of the http-comnponent fires and returns some action

It is normal, if the version you are using is an evaluation one. Evaluation version is subject to certain speed limitations which result in significant slowdowns here and there. You are welcome to request a temporary unlock key to switch off the delays and evaluate the real speed of the components.
#25545
Posted: 07/05/2013 04:17:16
by Wolfgang Denz (Standard support level)
Joined: 09/24/2008
Posts: 17

Hello Ken,

thanks for your answer.
You're right, the version I used for my tests is the previous version 11.0236 beta.
I have a lifetime subscription for Eldos SBB and hope to see pretty soon the final version of SBB 11 to be able to use my license-key and get the full speed.

Best regards
Wolfgang
Also by EldoS: RawDisk
Access locked and protected files in Windows, read and write disks and partitions and more.

Reply

Statistics

Topic viewed 950 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!