Code Red > XDRX-API

[navigation] XDRX API sub-forum navigation post (2024.05.01)

<< < (2/3) > >>

It's Alive!:
"try, Manually copy XDrx.x64.dll in the sys directory to c:\windows\system32"
Yuk!

It's Alive!:
You should create a loader module that sets up the environment and loads dependencies
Like this.
https://github.com/CEXT-Dan/PyRx/blob/main/PyRxLoader/acrxEntryPoint.cpp
I use an .INI file as a fallback   

xdcad:

--- Quote from: It's Alive! on April 26, 2024, 10:03:06 PM ---You should create a loader module that sets up the environment and loads dependencies
Like this.
https://github.com/CEXT-Dan/PyRx/blob/main/PyRxLoader/acrxEntryPoint.cpp
I use an .INI file as a fallback

--- End quote ---

The same directory as ARX has been specified to load the DLL, but some versions of ARX still do not load, prompting that it cannot be found.

Is there any other good way?


--- Code: ---#ifdef _WIN64
LoadDLL(_T("XDrx.x64.dll"),true);
#else
LoadDLL(_T("XDrx.x86.dll"), true);
#endif

--- End code ---


--- Code - C++: ---void LoadDLL(ACHAR* pszDllFilename, bool load){        ACHAR szPath[210] = ACRX_T("");        ::GetModuleFileName(_hdllInstance, szPath, MAX_PATH);        ACHAR* pCursor;        for (pCursor = szPath; *pCursor != ACRX_T('\0'); pCursor++)        {                if (*pCursor == ACRX_T('\\'))                        *pCursor = ACRX_T('/');        }        int idxSearch = lstrlen(szPath) - 1;        for (; idxSearch >= 0; idxSearch--)        {                if (szPath[idxSearch] == ACRX_T('/') ||                        szPath[idxSearch] == ACRX_T(':'))                        break;        }        idxSearch++;        if (pszDllFilename)                lstrcpy(szPath + idxSearch, pszDllFilename);        //adsout << _T("\nname=") << szPath;        ACHAR result[256];        if (acedFindFile(szPath, result) == RTNORM)        {                if (load)                {                        LoadLibrary(szPath);                        //acrxDynamicLinker->loadModule(szPath, 1);                }                else {                        FreeLibrary(::GetModuleHandle(pszDllFilename));                        //acrxDynamicLinker->unloadModule(pszDllFilename,false);                }        }        return;} 

It's Alive!:
Maybe add your path to %PATH% with SetEnvironmentVariable before you load XDrx.x64.dll
But you absolutely should not advise people to start moving DLLs into c:\windows\system32

xdcad:

--- Quote from: It's Alive! on April 27, 2024, 12:05:22 AM ---Maybe add your path to %PATH% with SetEnvironmentVariable before you load XDrx.x64.dll
But you absolutely should not advise people to start moving DLLs into c:\windows\system32

--- End quote ---

What needs to be solved now is the non-EXE installation version.
Set support paths and trust paths. Just load it successfully once.

Is there a way to drag and drop a LISP to load, and then get the path in LISP? It would be easier if we got the path

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version