Atozed Forums
IDE is throwing emsedge250.bpl error after manual Indy installation - Printable Version

+- Atozed Forums (https://www.atozed.com/forums)
+-- Forum: Indy (https://www.atozed.com/forums/forum-8.html)
+--- Forum: Indy General Discussion (https://www.atozed.com/forums/forum-9.html)
+--- Thread: IDE is throwing emsedge250.bpl error after manual Indy installation (/thread-146.html)



IDE is throwing emsedge250.bpl error after manual Indy installation - steve_goa - 05-03-2018

Using: Delphi 10.2.3

I've downloaded, built and installed the latest Indy VCL sources from repository and installed in a custom folder location. Prior to doing this, I uninstalled existing Indy components and deleted existing bpl, dcu and dcp files that came with Indy as part of the Delphi distribution. However now when starting the IDE, its showing error messages. One of these errors is:

Code:
---------------------------
bds.exe - Entry Point Not Found
---------------------------
The procedure entry point @Idcustomhttpserver@TIdCustomHTTPServer@$bctr$qqrp25System@Classes@TComponent could not be located in the dynamic link library C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\emsedge250.bpl.
---------------------------
OK   
---------------------------


Another error following this says its cannot load Devart UniDAC DataSet Manager (I also have Devart components installed).

How can I resolve this error?

TIA.


RE: IDE is throwing emsedge250.bpl error after manual Indy installation - rlebeau - 05-03-2018

(05-03-2018, 10:10 PM)steve_goa Wrote: I've downloaded, built and installed the latest Indy VCL sources from repository and installed in a custom folder location. Prior to doing this, I uninstalled existing Indy components and deleted existing bpl, dcu and dcp files that came with Indy as part of the Delphi distribution. However now when starting the IDE, its showing error messages. One of these errors is:

Code:
---------------------------
bds.exe - Entry Point Not Found
---------------------------
The procedure entry point @Idcustomhttpserver@TIdCustomHTTPServer@$bctr$qqrp25System@Classes@TComponent could not be located in the dynamic link library C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\emsedge250.bpl.
---------------------------
OK   
---------------------------

Another error following this says its cannot load Devart UniDAC DataSet Manager (I also have Devart components installed).

The only way I can think of that removing the pre-installed version of Indy would cause such errors is if Embarcadero's EMS library is exporting symbols from its BPL that are aliases to Indy's own BPLs (a BPL is just a DLL, and a DLL can redirect its exports to map to other DLLs), and Devart is built using those symbols from EMS. The error message is complaining that an exported TIdCustomHTTPServer constructor can't be found in emsedge250.bpl. TIdCustomHTTPServer never had an explicit constructor defined in Delphi, but it does in C++Builder (but only in the past few years, certainly not during the Indy 10.2.3 timeframe).

Why Devart is linking to Indy via EMS, and not to Indy directly, I have no idea (does Devart even use Indy?). You might want to contact Devart and tell them that their package dependencies appear to be messed up.

(05-03-2018, 10:10 PM)steve_goa Wrote: How can I resolve this error?

Without knowing exactly what is going on with your setup, in general when you install a new version of Indy, you usually have to recompile any 3rd party packages that are using Indy (unless they depend on a private copy of Indy that Embarcadero uses internally, in which case user upgrades of Indy are not supposed to break that). But, if those packages are provided by Embarcadero and can't be recompiled, then you are out of luck. You will have to either disable/uninstall the affected packages, or else maintain multiple versions of Indy, installing each version into the IDE on a per-project basis as needed to resolve the dependencies of other packages being used.


RE: IDE is throwing emsedge250.bpl error after manual Indy installation - steve_goa - 05-03-2018

Indy version = 10.6.2.5455 (from IdVers.inc)

Delphi version = 10.2.3 (Tokyo Update 3)

(05-03-2018, 10:40 PM)rlebeau Wrote: in which case user upgrades of Indy are not supposed to break that

It looks like my custom upgrade has broken EMBT's default installation, and other packages that I installed like Devart UniDAC. Is there anything that can be done such that the error can be avoided, and EMSEDGE250.Bpl work fine with the custom installation?


RE: IDE is throwing emsedge250.bpl error after manual Indy installation - rlebeau - 05-04-2018

(05-03-2018, 11:07 PM)steve_goa Wrote: Indy version = 10.6.2.5455 (from IdVers.inc)

Delphi version = 10.2.3 (Tokyo Update 3)

Yes, my bad, I had misread it earlier and thought you said Indy 10.2.3 instead of Delphi 10.2.3.

(05-03-2018, 11:07 PM)steve_goa Wrote: It looks like my custom upgrade has broken EMBT's default installation, and other packages that I installed like Devart UniDAC. Is there anything that can be done such that the error can be avoided, and EMSEDGE250.Bpl work fine with the custom installation?

Not that I am aware of. You will have to file a bug report with Embarcadero about the EMS error, and recompile Devart using your Indy packages (if it uses Indy at all).


RE: IDE is throwing emsedge250.bpl error after manual Indy installation - steve_goa - 05-04-2018

(05-04-2018, 01:03 AM)rlebeau Wrote:
(05-03-2018, 11:07 PM)steve_goa Wrote: Indy version = 10.6.2.5455 (from IdVers.inc)

Delphi version = 10.2.3 (Tokyo Update 3)

Yes, my bad, I had misread it earlier and thought you said Indy 10.2.3 instead of Delphi 10.2.3.

(05-03-2018, 11:07 PM)steve_goa Wrote: It looks like my custom upgrade has broken EMBT's default installation, and other packages that I installed like Devart UniDAC. Is there anything that can be done such that the error can be avoided, and EMSEDGE250.Bpl work fine with the custom installation?

Not that I am aware of.  You will have to file a bug report with Embarcadero about the EMS error, and recompile Devart using your Indy packages (if it uses Indy at all).


Done. I've filed a bug report in their quality portal.