LoadPackage - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ LoadPackage


加载一个组件包 (.bpl)

头文件:#include
命名空间:System::Sysutils
函数原型:

NativeUInt __fastcall LoadPackage(const System::UnicodeString Name);
NativeUInt __fastcall LoadPackage(const System::UnicodeString Name, TValidatePackageProc AValidatePackage);

参数:

  • Name:组件包文件名 (.bpl)
  • AValidatePackage:检查重复单元时的回调函数,如果回调函数返回 true 将不进行检查重复单元;

返回值:

  • 组件包的句柄;
  • 如果加载组件包失败,抛出 EPackageError 异常;
  • 有关这个函数的应用请参考 C++ Builder 创建和使用动态加载的包 (.bpl)
  • LoadPackage 函数以动态库 (dll) 的方式打开文件,如果找不到文件或打开失败,抛出 EPackageError 异常,保留打开文件之前的 FPU 控制字 (精度、异常等),请参考 std::_control87、System::Math::SetExceptionMask、浮点数异常处理等相关内容;
    打开文件之后,调用 InitializePackage 检查重复单元,和调用每个单元的初始化;
  • 检查如果有重复单元抛出 EPackageError 异常,通过回调函数 AValidatePackage 可以阻止检查重复单元和抛出这个异常;
  • 调用每个单元的初始化函数 Initialize,如果单元里面没有 Initialize 函数,抛出 EPackageError 异常。

例1:
请参考 C++ Builder 创建和使用动态加载的包 (.bpl)。

例2:
请参考 GetPackageInfo 的例子,以及本文底部 “相关” 的内容和例子。


相关:

  • System::Sysutils::LoadPackage
  • System::Sysutils::UnloadPackage
  • System::Sysutils::InitializePackage
  • System::Sysutils::FinalizePackage
  • System::Sysutils::GetModuleName
  • System::Sysutils::GetPackageInfo
  • System::Sysutils::GetPackageDescription
  • System::Sysutils::GetPackageTargets
  • System::Sysutils::EPackageError
  • System::Sysutils
  • System::Math::SetExceptionMask
  • std::_control87
  • C++ Builder 浮点数异常处理
  • C++ Builder 创建和使用动态加载的包 (.bpl)

C++ Builder 参考手册 ➙ System::Sysutils ➙ LoadPackage

你可能感兴趣的:(LoadPackage - C++ Builder)