ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to load a Managed dll from an arx file?

5 REPLIES 5
SOLVED
Reply
Message 1 of 6
massoudshakeri
1253 Views, 5 Replies

How to load a Managed dll from an arx file?

Greetings,

Recently I had to add some features available only in .NET, to the project I developed using ObjectArx. I created a Managed dll using C#, and I want to load that dll when my main arx dll is loaded. I do not want to demand-load that dll by adding some registry keys.

As I found the command of "acrxDynamicLinker->loadModule()" does not work for managed dlls. I am wondering if there is another command or method to load a managed dll from inside an arx file.

With thanks in advance.

Massoud

 

5 REPLIES 5
Message 2 of 6

1) LoadLibrary()
2) Also acdbmgd.lib export function LoadManagedDll:
enum Acad::ErrorStatus __stdcall LoadManagedDll(ACHAR const *path);
Sample:

enum Acad::ErrorStatus __stdcall LoadManagedDll(ACHAR const *path);
static int ads_netload(void)
{
  struct resbuf *pArgs = acedGetArgs () ;
  acedRetNil();
  if (pArgs && pArgs->restype == RTSTR) {
  Acad::ErrorStatus es = LoadManagedDll(pArgs->resval.rstring);
  if (es != Acad::eOk) {
     acutPrintf(_T("\nLoadManagedDll(\"%s\")=%s"),
        pArgs->resval.rstring,acadErrorStatusText(es));
  } else 
    acedRetStr(pArgs->resval.rstring);
  } 
  return (RSRSLT) ;
}

 

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | 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
Expert Elite Member

Message 3 of 6

Thanks for the response. But none of these methods work.

I need somehow make AutoCAD to load that managed DLL, in the same way acrxDynamicLinker->loadModule works. I do not think LoadLibrary() can do this.

The second method did not work either.

Message 4 of 6


@massoudshakeri wrote:

The second method did not work either.


Try again. I've attached solution which was tested with AutoCAD 2012. It export command MyNetLoad which is analog of NETLOAD command and lisp function (netload <path_to_managed_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
Expert Elite Member

Message 5 of 6

Hi Alexander,

Thank you very much.

It worked for me.

 

Best Regards

Massoud

Message 6 of 6


It worked for me.

What about Accept Solution?

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | 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
Expert Elite Member

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost