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
 Error message with "SHGetImageList"
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

DiBase

Germany
5 Posts

Posted - Jan 12 2024 :  16:47:42  Show Profile  Reply
Hi there,

I updated recently ImageEn for RAD Studio Athens.

When I start my project (C++ 32 bit) from RAD Studio I get very often the message (sorry in German) ...

"Der Prozedureinsprungpunkt "SHGetImageList" wurde in der DLL "....exe" nicht gefunden."

... English translation ...

"The procedure entry point "SHGetImageList" was not found in the DLL "....exe"."

... and my program doesn't start.

Then I have to create the whole project again and my newly compiled exe starts.

Very time consuming ...

I tried ...

- Unchecking the linker option "Dynamic RTL", in the project options (found here in the forum)
- undefine IEEnableShellThumbnails (in ie.inc - recreate and install components)
- define IEDelayDllLoading (also in ie.inc)

Any ideas how I can rid of this message?

Regards, Dirk

xequte

38457 Posts

Posted - Jan 12 2024 :  17:22:27  Show Profile  Reply
Hi Dirk

To confirm the project compiles correctly, but on running the error is displayed?

I'm surprised that undefining IEEnableShellThumbnails or IEDelayDllLoading does not fix it. Can you add the ImageEn source folder to your library path, and then run it. Add some garbage to the one of the ImageEn units to confirm that it is being used.

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

DiBase

Germany
5 Posts

Posted - Jan 13 2024 :  05:37:31  Show Profile  Reply
Hi Nigel,

answer to your question: yes.
Even when start my program directly (without IDE) the message still remains - the program doesn't start.

I tried your advice - but with no success.

Finally I found the solution ...

When I recompiled and installed with modified ie.inc file I got a message, that the components already used by another library.

In the Athens directory your libraries have the number29 - installed is a 28 (= Alexandria) version.

1. I uninstalled ImageEn library and removed library *28.bpl files from this directory ...

C:\Users\Public\Documents\Embarcadero\Studio\23.0\Bpl

2. Your installation process adds ...

C:\ProgramData\ImageEn\Delphi12Athens

... to the library path. When I recompile the library the final bpl files go to ...

C:\Users\Public\Documents\Embarcadero\Studio\23.0\Bpl

But there are still older .bpl files in ...

C:\ProgramData\ImageEn\Delphi12Athens

So I removed *.bpl files from here to avoid using these old ones.

Now, I have no more SHGetImageList message.

Regards, Dirk
Go to Top of Page

xequte

38457 Posts

Posted - Jan 13 2024 :  21:23:44  Show Profile  Reply
Hi Dirk

Thanks for the detail. It is a strange one. Are you saying that in RAD Studio Alexandria under:

Language > C++ > Paths and Directories > Library Path

That there was an Athens path:

C:\ProgramData\ImageEn\Delphi12Athens

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

DiBase

Germany
5 Posts

Posted - Jan 16 2024 :  06:51:49  Show Profile  Reply
Hi Nigel,

sorry for the late reply ...

No, in my RAD Studio Athens was the correct path, but the automatic installed components (from first setup) were the Alexandria versions (*28.bpl).

Regards, Dirk
Go to Top of Page

xequte

38457 Posts

Posted - Jan 16 2024 :  18:38:57  Show Profile  Reply
OK, thanks for letting us know.

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