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

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 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
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

RaHo

Germany
4 Posts

Posted - Oct 12 2022 :  08:59:22  Show Profile  Reply
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.



xequte

38180 Posts

Posted - Oct 12 2022 :  18:12:42  Show Profile  Reply
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
Go to Top of Page

RaHo

Germany
4 Posts

Posted - Oct 13 2022 :  03:06:16  Show Profile  Reply
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.
Go to Top of Page

xequte

38180 Posts

Posted - Oct 13 2022 :  17:27:18  Show Profile  Reply
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
Go to Top of Page

RaHo

Germany
4 Posts

Posted - Dec 28 2022 :  10:12:18  Show Profile  Reply
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.
Go to Top of Page

xequte

38180 Posts

Posted - Dec 28 2022 :  15:00:34  Show Profile  Reply
Sorry, can you confirm what version of ImageEn you are using? We improved this in 11.4.5.


Nigel
Xequte Software
www.imageen.com
Go to Top of Page

RaHo

Germany
4 Posts

Posted - Dec 29 2022 :  04:52:47  Show Profile  Reply
We use v11.4.0

I check whether our subscription is valid.
Go to Top of Page

xequte

38180 Posts

Posted - Jan 03 2023 :  21:59:01  Show Profile  Reply
Hi

Yes, it is valid. Please go to:

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


Nigel
Xequte Software
www.imageen.com
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: