bool RegisterDataModelClass() { XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); LuaDir::RegisterClass(hEnv); LuaDirFactory::RegisterObj(hEnv); XLLRT_ReleaseEnv(hEnv); return true; }
bool InitLuaCore() { XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); LuaWizardApp::RegisterSelf(hEnv); LuaImageCore::RegisterSelf(hEnv); LuaDataObjectHelper::RegisterSelf(hEnv); LuaSkinManager::RegisterSelf(hEnv); XLLRT_ReleaseEnv(hEnv); return true; }
extern "C" __declspec(dllexport) void RunLua(wchar_t* szLuaPath) { XLLRT_ErrorHandle(LuaErrorHandle); XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); if (hEnv == NULL)//初始化LUA环境 { hEnv = XLLRT_CreateEnv(NULL); XL_LRT_RUNTIME_HANDLE hRuntime = XLLRT_CreateRunTime(hEnv, NULL, 0); TSDEBUG4CXX(L"XLLRT_GetEnv error! XLLRT_CreateEnv hEnv = " << hEnv << L", XLLRT_CreateRunTime hRuntime = " << hRuntime); } if (NULL == hEnv) { TSDEBUG4CXX(L"XLLRT_GetEnv error! hEnv == NULL"); return ; } // 初始化接口 LuaGSUtil::RegisterObj(hEnv); LuaAsynUtil::RegisterSelf(hEnv); XLLRT_ReleaseEnv(hEnv); hEnv = XLLRT_GetEnv(NULL); XL_LRT_RUNTIME_HANDLE hRuntime = XLLRT_GetRuntime(hEnv, NULL); XL_LRT_CHUNK_HANDLE hChunk = NULL; XLLRT_CreateChunkFromFile(::PathFindFileName(szLuaPath), szLuaPath, &hChunk); if (hChunk != NULL) { XLLRT_RunChunk(hRuntime, hChunk); } if (hChunk != NULL) { XLLRT_ReleaseChunk(hChunk); XLLRT_ReleaseRunTime(hRuntime); XLLRT_ReleaseEnv(hEnv); } return; }
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { if(ul_reason_for_call == DLL_PROCESS_ATTACH) { XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); LuaMyClass::RegisterClass(hEnv); LuaMyClassFactory::RegisterObj(hEnv); } return TRUE; }
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { if(ul_reason_for_call == DLL_PROCESS_ATTACH) { //×¢²áapp XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); LuaV6Chat3App::RegisterObj(hEnv); XLLRT_ReleaseEnv(hEnv); } return TRUE; }
BOOL CRegisterLuaAPI::Init(LPCTSTR lpCmdLine, LPVOID lpHookObj) { TSTRACEAUTO(); XL_LRT_ENV_HANDLE hEnv = XLLRT_GetEnv(NULL); if (NULL == hEnv) { TSDEBUG4CXX(L"XLLRT_GetEnv error! hEnv == NULL"); return FALSE; } LuaAPIUtil::RegisterObj(hEnv); LuaAsynUtil::RegisterSelf(hEnv); LuaGraphicUtil::RegisterObj(hEnv); LuaNotifyIcon::RegisterSelf(hEnv); LuaListenPreFactory::RegisterObj(hEnv); LuaListenPre::RegisterClass(hEnv); XLLRT_ReleaseEnv(hEnv); return TRUE; }