ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 DiskCache does not work when ThreadCount > 0 and Directory Root is a UserDir

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
RaHo Posted - Oct 12 2022 : 08:59:22
Dear Support,

if you use the demo MultiView Performance Demo

- DiskCache ON
- Thumbnail
- Thread Loading Count > 0
- Root Directory is Documents or Picture (This is the bug)

then the thumbs will not create correct.
You can see there is all the same thumb.



7   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Jan 03 2023 : 21:59:01
Hi

Yes, it is valid. Please go to:

https://www.imageen.com/support/serial/


Nigel
Xequte Software
www.imageen.com
RaHo Posted - Dec 29 2022 : 04:52:47
We use v11.4.0

I check whether our subscription is valid.
xequte Posted - Dec 28 2022 : 15:00:34
Sorry, can you confirm what version of ImageEn you are using? We improved this in 11.4.5.


Nigel
Xequte Software
www.imageen.com
RaHo Posted - Dec 28 2022 : 10:12:18
Ok the subject of my thread is wrong.

I go deeper to source to search the reason why the diskcache is not working in my project.

at the end of my afternoon, i extract the little piece of source from iemview.pas from the
function _GenerateHashName.

There is a hash function from stream. Please ignore the Memo.

var
hs: TIEHashStream;
s: String;
Index: integer;
begin
for Index := 0 to cxMemo1.Lines.Count - 1 do
begin
s := cxMemo1.Lines[Index];
hs := TIEHashStream.Create(iehaSHA);
hs.Write( s[1], length(s) );
cxMemo2.Lines.Add('~ie' + String(hs.GetHash()));
hs.Free();
end;
end;

s is the debug value from _GenerateHashName

C:\Dateien\Bilder\03. Kodi - Goolge\Bilder Konferenzraum DUS\20170830_143520.jpg~44923.5023717477~42977.6078703704~5056184~12~0~130~108~3
C:\Dateien\Bilder\03. Kodi - Goolge\Bilder Konferenzraum DUS\20170830_143523.jpg~44923.5023729745~42977.6079050926~5947240~12~0~130~108~3
C:\Dateien\Bilder\03. Kodi - Goolge\Bilder Konferenzraum DUS\20170830_143544.jpg~44923.502374838~42977.6081481481~4911131~12~0~130~108~3
C:\Dateien\Bilder\03. Kodi - Goolge\Bilder Konferenzraum DUS\20170830_143548.jpg~44923.5023758912~42977.6081944444~5085163~12~0~130~108~3

The result

~ie8872390ef8f5a0c18d39443dd85505fb3ebf6397
~ie8872390ef8f5a0c18d39443dd85505fb3ebf6397
~ie880d3a5980ae01bfb69c38f58bf05ebd82212920
~ie8872390ef8f5a0c18d39443dd85505fb3ebf6397

Oh no, the hash is not unique.

Now, change the type of s to AnsiString and let it run.

~ie4b3bd039f0045a8c2e12b6c604a29e89a0e00f4d
~ieea737615c8ed00e9cfd67d66c229ba66a29310a5
~ie234bc3ba80cdf7ac99238585f61cf6b0352bde91
~ie78318d55676ba7e3558c96fc6d64c4eec45be66b

Hey, its unique. I think there is a problem in the hash function.
xequte Posted - Oct 13 2022 : 17:27:18
Hi

Please look in the \~ie\ folder of your temp folder (IEGlobalSettings().TempPath). Do the disk cache filenames look valid? I.e.g something like: ~ie1be161519ad789e9c6b7c591526611524607eda4

Also, email me to test an update.



Nigel
Xequte Software
www.imageen.com
RaHo Posted - Oct 13 2022 : 03:06:16
I use the Version 11.4.0 and the Demo is recompiled with this version.
I have also the cache problem in my program.
I think there is a problem with windows user standard folders.
If i select a directory with an absolute path there is no problem.
But the PICTURES directory has many variants
C:\Users\<user>\Pictures
C:\Benutzer\<user>\Pictures
C:\Benutzer\<user>\Bilder
and so on.
xequte Posted - Oct 12 2022 : 18:12:42
Hi

I cannot reproduce that, but the disk cache filename is hashed so it can be insufficiently random. Some changes were made to this recently. Are you using the latest version of ImageEn and/or the current version of the Performance demo?

Nigel
Xequte Software
www.imageen.com