Requirement for runtime packages when using Hydra

From the documentation it sounds like one always needs to use runtime packages when creating a hydra project with VCL.

Although from this post: https://talk.remobjects.com/t/compiling-error-delphi-xe4/3784:

When using trial version you need to build your Delphi host/plugin with runtime packages.

It sounds like it is only a limitation of the trial version. So my question is:

  1. Are runtime packages always required when building a vcl host (i.e. even in non-trial version)?

  2. If the project will consist of a VCL host and .NET plugin, are runtime packages required?

  3. I’m wondering why this requirement exists? For a large existing project, it can be quite a headache to manage runtime packages, instead of single exe.

  4. Will this requirement be removed in Hydra 5?

Thanks

runtime packages are needed when mixing Delphi hosts and plugins, since otherwise host and plugins would each have their own unique copy of ther VCL classes, which would be incompatible with eachother. You do not need to use packages if you. just have .NET plugins in a Delphi host, or Delphi plugins (that don’t communicate with eachother) in a .NET host.

does that make sense?

—marc

I don’t really understand.

Isn’t the whole thing of a host/plugin architecture to expose an interface and to hide the implementation details. So why is a Delphi host/plugin worse than a .NET host/Delphi plugin? The actual implementation details should be boxed away.

If Delphi host and Delphi plugin are using the same version of Hydra will they still need to use runtime packages?

using run-time packages are needed for possibility to use common delphi classes in interfaces, otherwise you will get errors like

EConvertError with message ‘Cannot assign a TStringList to a TStringList’

in case of Delphi vs .NET, you can’t use classes and should use only simple types like WideString, Integers, etc