Knowledgebase: Compilation
7.x: "Package is installed in IDE. It's not possible to modify .bpl file"
Posted by Aleksandr Alekseev on 13 October 2015 14:04

Problem:

I develop IDE package (component or expert). When I compile my package, no EurekaLog information is added, even though package is configured with EurekaLog. Instead, a message "Package is installed in IDE. It's not possible to modify .bpl file" is shown in IDE's messages window under "EurekaLog" node.

Explanation:

This is a limitation of IDE's OpenTools API.

You have your package installed (registered) in IDE. Thus, your package is loaded by IDE process. This means that no one can alter it. When you compile your package in IDE, IDE unloads your package, recompiles it, then loads it back.

EurekaLog IDE expert assigns "AfterCompile" event via IDE's OpenTools API. Unfortunately, this event is triggered after compiled package is loaded back in IDE. Thus, EurekaLog code can only see your package when it was already reloaded back to IDE. Therefore, EurekaLog IDE expert is unable to modify your package.

Solution:

  1. Manually unload (unregister) your package in IDE, recompile it (since package is not loaded - this time EurekaLog will be able to alter it), then install/register it back.
  2. Manually invoke EurekaLog's post-processing before package is loaded. Specifically, project's post-build event (not to be confused with EurekaLog's post-build event) is executed when compiled package is unloaded. In other words, you have to place a call to ecc32 to your project's post-build event as described in this article.

Checked EL version: 7.3.1

Ticket ID: 10965 (GIR-315-42360)


Help Desk Software by Kayako Resolve