Can you describe a bit your app?
is this a RO SDK server? if yes, are you using the latest version of RO SDK?
Can you create a simple testcase that reproduces such AV?
according to this error:
it can’t load this dll. is this dll present on given path?
as a workaround:
Do you use any specific interfaces from uHYIntf unit or pass delphi objects between host and plugin?
if not, you can try to use cross-platform interfaces from uHYCrossPlatformInterfaces.pas.
for this, just comment HYGetModuleController method as
procedure HYGetCrossPlatformModule(out result: IHYCrossPlatformModule); stdcall;
begin
result := VisualModuleController as IHYCrossPlatformModule;
end;
{
function HYGetModuleController : THYModuleController;
begin
result := VisualModuleController;
end;
}
exports
HYGetCrossPlatformModule;
// HYGetModuleController name name_HYGetModuleController;
after this change, you can compile your host and plugins w/o run-time packages.
I am using the latest versions of Delphi (10.2.2) and RO/DA Server/HY (9.3.105.1351 and 5.0.89.1163). I also use DevExpress in my projects (2017.2.4.0).
I have a host server that loads 15-20 service plugins (all delphi). I recompiled HY and I now have the server working 9 times out of 10 and I don’t get the rtl250 error on close. We are looking into our virus checker as the possible problem, but haven’t yet confirmed that.
The client, however, I still have not been able to get it to work. The client is a RO/DA/HY host that loads one visual plugin at a time. These are not a new projects. I have had this architecture for 5+ years. The only difference is an upgraded Dephi and upgraded components to the latest versions. I’ve tried all of my client DLL plugins and I get the same error. The DLLs are all present on given path.
The client host itself also uses Hydra_VCL_D25 and it loads just fine.
It all works on a windows machine (7 or 10) if Delphi and BPLs are installed. It does not work on a virgin Server 2012 R2 or windows 10.
About your workaround. I’m a little confused by your question. If not which?
Do you use any specific interfaces from uHYIntf unit
OR
pass delphi objects between host and plugin
As I’ve mentioned everything is Dephi. The objects I pass other than structured arrays are normal Delphi datatypes.
can you create a simple testcase that reproduces this case? if possible, try to not use DevExpress in plugin/host.
have you ship all required dll and delphi .bpl to this virgin Server 2012 R2 or windows 10?
you can check for missed files with Dependency Walker utility.
Recently we added possibility to load and use plugins that were created w/o run-time packages. this is work only for cases when no delphi objects are passed between host and plugin.
Well, I got it working. It was missing DevExpress BPLs. I got sent in the wrong direction by the error reported by EurekaLog. Thanks for your assistance and Dependency Walker, that will be very useful in the future.