Skip to content

TDynLibsManager

Dynamic library loading support.

Declaration

Source position: dynlibh.inc line 54

type
  TDynLibsManager = record
    LoadLibraryU: TLoadLibraryUHandler = function(const Name: UnicodeString) : TLibHandle;
    LoadLibraryA: TLoadLibraryAHandler = function(const Name: RawByteString) : TLibHandle;
    GetProcAddress: TGetProcAddressHandler = function(Lib: TLibHandle; 
                                  const ProcName: AnsiString) : Pointer;
    GetProcAddressOrdinal: TGetProcAddressOrdinalHandler = function(Lib: TLibHandle; 
                                         Ordinal: TOrdinalEntry)
                                          : Pointer;
    UnloadLibrary: TUnloadLibraryHandler = function(Lib: TLibHandle) : Boolean;
    GetLoadErrorStr: TGetLoadErrorStrHandler = function : AnsiString;
    GetSymbolByAddr: TGetSymbolByAddrHandler = function(Addr: CodePointer; 
                                   out Info: TSymbolAddressInfo)
                                    : Boolean;
  end;

Description

TDynLibsManager contains all the callbacks needed to load and manage dynamic libraries. The system unit does not contain dynamic loading library support on all supported platforms. Like the unicode string support, heap support and thread support, support for loading dnamic libraries is pluggable. This record contains the necessary callbacks that the system unit needs to implement loading of dynamic libraries (needed for example for run-time package support).

Including the dynlibs unit will enable support for dynamically loadable libraries on all platforms that support this.

See also

Name Description
#rtl.dynlibs Cross-platform support for dynamically loadable libraries.