#include "Resource/Bitmap/IJL15Runtime.h" #include IJL15Runtime::IJL15Runtime() : m_module(LoadLibraryA("ijl15.dll")) { if (!this->m_module) { throw std::system_error(GetLastError(), std::system_category(), "ijl15.dll"); } this->initialize = reinterpret_castinitialize)>(GetProcAddress(this->m_module, "ijlInit")); this->read = reinterpret_castread)>(GetProcAddress(this->m_module, "ijlRead")); this->write = reinterpret_castwrite)>(GetProcAddress(this->m_module, "ijlWrite")); this->release = reinterpret_castrelease)>(GetProcAddress(this->m_module, "ijlFree")); if (!this->initialize || !this->read || !this->write || !this->release) { FreeLibrary(this->m_module); throw std::system_error(ERROR_PROC_NOT_FOUND, std::system_category(), "ijl15 exports"); } } IJL15Runtime::~IJL15Runtime() { FreeLibrary(this->m_module); }