Deciding Which Runtime Packages to Use
Several runtime packages, including rtl and vcl (VCL application), supply basic language and component support:
- The vcl (VCL) package contains the most commonly used components.
- The rtl (run-time library) package includes all the non-component system functions and Windows interface elements.
Neither of these run-time packages includes database or other special components, which are available in separate packages.
To create a client/server database application that uses packages, you need several run-time packages, including vcl, vcldb, rtl, and dbrtl (VCL) . If you want to use VCL components in your application, you also need vclx (VCL). If you want to use FireMonkey components with your application, you need the fmx run-time package (but none of the VCL run-time packages, as they are incompatible).
To verify that your application includes these packages, choose Project > Options > Packages > Runtime Packages, and view and edit the Runtime packages list.
Please note that specific run-time packages might apply only to certain platforms. For example, the rtl and data run-time packages are platform independent, and hence can appear for "All Platforms", while some other run-time packages might be limited to only one or two platforms. An example is BDE packages, which are automatically limited to Win32 because they are not supported on other platforms.
vcl;rtl;vcldb;vclx; //For VCL applications
Note: In VCL applications, you do not have to manually include vcl and rtl, because they are referenced in the Requires clause of vcldb. Your application compiles just the same whether or not vcl and rtl are included in the Runtime Packages list.
Another way you can determine which packages are called by an application is to enable run-time packages (Runtime Packages (Options)) and then run the application and review the event log (choose View > Debug Windows > Event Log ). The event log displays every module that is loaded including all packages. The full package names are listed. So, for example, for vclnnn.bpl, you might see a line similar to the following in a VCL application:
Module Load: vcl60.bpl Has Debug Info. Base Address $400B0000. Process Project1.exe ($22C)