* Procedure
1. Run AutoCAD.
2. Load the .net file using arx.
CString Dll_Path = _T("(command \"netload\"\"") + Dll_Path + _T("\")") + _T("(princ)");
ads_queueexpr(Dll_Path);
3. Load another arx. (ZD_File.dll)
-. arx code:
HANDLE zd_fileLoad;
zd_fileLoad = GetModuleHandle(L"ZD_File");
acutPrintf(L"\nhandle : %x\n", zd_fileLoad);
if (!zd_fileLoad) acutPrintf(L"\nZD_File.dll Fail\n");
else acutPrintf(L"\nhandle : %x\n", zd_fileLoad);
* Result
handle : 0
ZD_File.dll Fail
* Expected results
handle : xxxx (must have a handle value)
Solved! Go to Solution.
Solved by Alexander.Rivilis. Go to Solution.
In order to load dll-file in AutoCAD you can use another method:
zd_fileLoad = LoadLibraryW(L"ZD_File.dll");
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
I'm trying to check for a .net dll file that is already loaded.
zd_fileLoad = LoadLibraryW(L"ZD_File.dll");
The code above seems to be a function that loads a dll file.
HANDLE zd_fileLoad = GetModuleHandle(L"ZD_File");
if (zd_fileLoad == NULL)
{
zd_fileLoad = LoadLibraryW(L"ZD_File.dll");
}
What about such code?
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
By the way in order to load .NET dll-file in AutoCAD you can use function:
Acad::ErrorStatus __cdecl LoadManagedDll(ACHAR const *dllpath);
It is the same as _NETLOAD command. You have to link with acdbmgd.lib
Also undocumented function can help you check loaded or no .NET dll-file:
bool __cdecl ExtensionLoader_IsLoaded(ACHAR const * dllpath);
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Thanks~~~
bool __cdecl ExtensionLoader_IsLoaded ( ACHAR const * dllpath ) ;
Because of this function, I was able to check whether the dll file was preloaded.
Is this function using the process function?
@lot231 wrote:
Is this function using the process function?
I did not understood this question. And as far as this function undocumented I can not say algorithm of this function.
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
bool __cdecl ExtensionLoader_IsLoaded(ACHAR const * dllpath);
This function doesn't seem to work for autocad2023 only. Please check. (2021~2022 Fine)
Can't find what you're looking for? Ask the community or share your knowledge.