C++ Builder 参考手册 ➙ System::Sysutils ➙ SafeLoadLibrary
安全加载一个动态库文件,保存加载之前的 FPU 控制设定免得动态库修改了精度和异常设定
头文件:#include <System.SysUtils.hpp>
命名空间: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