delphivcldelphi-xe2runtime-packages

What are the Delphi XE2 VCL Runtime BPLs?


The old Delphi 7, uncheck runtime packages and build all trick doesn't seem to work anymore so I can't restore whatever would be a good set of runtime BPL's for my Delphi project.

I've got a problem, which I will probably ask another question about and link here, which I think might be solved by including a particular BPL that contains VCL.CheckLst.pas.

The reason I don't just know the answer to this is when I start a new VCL forms project, there are no VCL BPLs in the runtime packages by default, there's RTL and some firemonkey stuff and good old MadExcept and Indy, but no VCL, what's the deal with that? is my Delphi misconfigured?


Solution

  • There are no VCL. (note the . after VCL) runtime packages. There are the standard RTL packages you've been used to before; the VCL namespaces are contained in them.

    To find out exactly what runtime packages you need to distribute, you might find this useful.

    Go to the Project Options/Packages/Runtime Packages dialog (image below to help explain).

    Expand the Link with runtime packages node, check True, and clear the three Value node checkmarks. You can also open the nodes below Runtime packages and clear the lists for the three entries there. Save the changes and close the dialog. (The IDE will repopulate the list and store it in the .dproj file; you'll see it if you reopen the Project Options dialog after building.)

    Use Project|Build <yourproject>. Once it builds, use Project|Information for <yourproject>; the right side panel will show you the BPLs you'll be required to distribute. (VCL.CheckLst is in vc1x60.bpl, BTW, according to Sertac's comment below.) Make sure you build and don't just compile; you need to make sure all the dcu's are rebuilt so the package list can be determined.

    XE2 Project Options Packages Dialog