Archived Forum Post

Index of archived forum posts

Question:

DirTree returns 0 in FileSize32 property

Oct 08 '13 at 12:00

In large Files (More tan 3 GB), the FileSize32 property returns 0, and the FileSize64 property mentioned in the sql example, doesn´t work.

How can I get File sizes of these files?

Also tried with the FileSize Method of the FileAccess object, and returns strange numbers (negative or too small for the real size).....

Thanks in advance...


Answer

The FileSize32 method returns a 32-bit signed integer, which means it can only handle file sizes up to 2,147,483,647. For various reasons, ActiveX's have historically had trouble with 64-bit integers. Many programming environments/languages didn't support it.

I added a new FileSize64 property to the DirTree object. I don't know whether SQL can deal with a 64-bit integer, but if so, then this should resolve the problem.

I suspect you need the 32-bit DLL, but I created both 32-bit and 64-bit builds. (Don't confuse the size of the memory address space of the DLL w/ the ability to return a 64-bit integer. The size of the memory address space of the DLL (32-bit or 64-bit) must match the size of the memory address space of the process that dynamically loads and links the DLL.)

32-bit download: http://www.chilkatsoft.com/preRelease/ChilkatFileAccess-9.4.1-win32.zip

64-bit download: http://www.chilkatsoft.com/preRelease/ChilkatFileAccess_x64-9.4.1-x64.zip


Answer

THANKS, I have 2 servers, in both I'm using x64 activex, With this new file, one of them is working perfectly now. But the other still returns 0 in file property and method (just large files), I'll make tests until it Works in both.

THANKS AGAIN !!!!