SafeLoadLibrary - C++ Builder

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


安全加载一个动态库文件,保存加载之前的 FPU 控制设定免得动态库修改了精度和异常设定

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

NativeUInt __fastcall SafeLoadLibrary(
    const System::UnicodeString FileName,
    unsigned ErrorMode = (unsigned)(0x8000));

参数:

  • FileName:动态链接库或组件包文件名
  • ErrorMode:出错处理方式;

返回值:

  • 动态链接库或组件包的句柄;
  • 如果加载动态链接库或组件包失败,返回值为 0;
  • 参数 ErrorMode 只有在 Windows 操作系统里面使用,用于这个函数内部调用 API 函数 SetErrorMode 的参数,默认值为 0x8000 即 SEM_NOOPENFILEERRORBOX,出错不弹出错误信息窗口;
  • 保留加载文件之前的 FPU 控制字 (精度、异常等),请参考 std::_control87、System::Math::SetExceptionMask、浮点数异常处理等相关内容;
  • 这个函数主要用于加载组件包,LoadPackage 函数内部调用这个函数来加载组件包,请参考 C++ Builder 创建和使用动态加载的包 (.bpl)。

相关:

  • 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 ➙ SafeLoadLibrary

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