Quantcast
Channel: Embarcadero Community - Embarcadero Community
Viewing all articles
Browse latest Browse all 3212

Why is StdVclxx.dll not registered during 10.1 Berlin install

$
0
0

Just installed RAD Studio Berlin 10.1 (architect) on a new system and trying to compile some existing code. Ran in to some run-time errors, and when I finally traced it it transpires that StdVCL32.dll and/or stdVCL40.dll are not registered on this system. I checked in the registry using the GUIDs from VCL.AXCtrls and no sign....

 

It is easy to demonstrate this using GetOleStrings.

 

Procedure Test_StdVCL;

var
  SL: TStringList;

  iStr: IStrings;

begin 

  SL:= TStringList.Create;

  try

    SL.Add('Hello');

    GetOleStrings(SL, iStr);    //BOOM, if StdVCL40.dll not registered

    ShowMessage(IntToStr(iStr.Count));

  finally

    SL.Free;

    iStr:= nil;

  end;
end;

 

I realize that I need to deploy and register on a clients system. I was just not expecting to have to fight with registering core Delphi dlls that the installer might do. As far as I am aware this has always happened before.

 

Underlying this is TStringsAdapter.Create

 

constructor TStringsAdapter.Create(Strings: TStrings);
var
  StdVcl: ITypeLib;
begin
  OleCheck(LoadRegTypeLib(LIBID_STDVCL, 4, 0, 0, StdVcl));
  inherited Create(StdVcl, IStrings);
  FStrings := Strings;
end;

 

LoadRegTypeLib does not find the GUID in the registry, and StdVCL returns nil. The following line explodes.

 

Any ideas on why StdVCL is not registered as part of the installation?

 

Many thanks


Viewing all articles
Browse latest Browse all 3212

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>