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

AcRxDynamicLinker still failing after all these years?

5 REPLIES 5
Reply
Message 1 of 6
Anonymous
172 Views, 5 Replies

AcRxDynamicLinker still failing after all these years?

I am receiving the following error when trying to run an ARX/DBX application
that otherwise compiles without error:

D:\S1DetailEnts.dbx cannot find a procedure that it needs.

AcRxDynamicLinker failed to load 'D:\S1DetailEnts.dbx'

I have searched past post for this newsgroup, as well as a google search,
and have found that others have experienced similar problems (going back to
R13). The issue does not seem to be specific to ObjectARX and appears to
also occur with other application types that need to "communicate" with the
AutoCAD engine (ex.: Solidworks, MDT4). Unfortunately, I was not able to
find in any of the previous posts a description of the cause of the problem
or any solution.

Does anyone understand the nature of this problem and know how to fix it?
Many thanks in advance.
5 REPLIES 5
Message 2 of 6
Anonymous
in reply to: Anonymous

Depending on what the procedure that is missing is, this can always happen.
AutoDesk cannot stop it from happening in every circumstance. What this
error means is that your dbx file is trying to use a function in a dll that
has not been loaded into memory yet. If that function is in a dll you
created, then you have to make sure that it is loaded. This is usually
handled by the compiler, but depending on how you are linking to the dll,
you may have to explicitly load it yourself using the LoadLibrary function.
If that function is an Autodesk function then there may be an issue as to
the load order of arx/dbx files. If that function is in a dll that is not in
the system path, then your dbx file may be trying to load it, but cannot
find it. I know this doesn't necessarily solve the problem, but gives you
some explanation as to what the message is.
Message 3 of 6
Anonymous
in reply to: Anonymous

Thanks! I considered a "path problem" but do not believe that is it. I say
that only because the ARX/DBX application had been running fine until I
added a bit of new code (in of itself fairly benign). I deleted the new code
fragment but the error remained. I have also tried loading the DBX
application from within the ARX (at runtime) and also loading the DBX first
manually. The result is the same. I am truely stumped.

"Randy Sanders" wrote in message
news:870B98D84C03FFC739BAA9DA459FA9D0@in.WebX.maYIadrTaRb...
> Depending on what the procedure that is missing is, this can always
happen.
> AutoDesk cannot stop it from happening in every circumstance. What this
> error means is that your dbx file is trying to use a function in a dll
that
> has not been loaded into memory yet. If that function is in a dll you
> created, then you have to make sure that it is loaded. This is usually
> handled by the compiler, but depending on how you are linking to the dll,
> you may have to explicitly load it yourself using the LoadLibrary
function.
> If that function is an Autodesk function then there may be an issue as to
> the load order of arx/dbx files. If that function is in a dll that is not
in
> the system path, then your dbx file may be trying to load it, but cannot
> find it. I know this doesn't necessarily solve the problem, but gives you
> some explanation as to what the message is.
>
>
Message 4 of 6
Anonymous
in reply to: Anonymous

Any idea on how one can determine which procedure cannot be found?

"Randy Sanders" wrote in message
news:870B98D84C03FFC739BAA9DA459FA9D0@in.WebX.maYIadrTaRb...
> Depending on what the procedure that is missing is, this can always
happen.
> AutoDesk cannot stop it from happening in every circumstance. What this
> error means is that your dbx file is trying to use a function in a dll
that
> has not been loaded into memory yet. If that function is in a dll you
> created, then you have to make sure that it is loaded. This is usually
> handled by the compiler, but depending on how you are linking to the dll,
> you may have to explicitly load it yourself using the LoadLibrary
function.
> If that function is an Autodesk function then there may be an issue as to
> the load order of arx/dbx files. If that function is in a dll that is not
in
> the system path, then your dbx file may be trying to load it, but cannot
> find it. I know this doesn't necessarily solve the problem, but gives you
> some explanation as to what the message is.
>
>
Message 5 of 6
Anonymous
in reply to: Anonymous

Dan Engebretson wrote:
> Any idea on how one can determine which procedure cannot be found?

I use MissingLink in the Developers sections at the URL below. It works similar
to Dependency Walker (depends.exe) but includes the .arx/.dll path in the search
path.

--
|
----+----------------------------------------------
| Byron Blattel
| CADwerx---Applications for AutoCAD
| Autodesk Registered Developer
| email: byron@cadwerx.net
| web site: http://www.cadwerx.net
| Custom Programming Services
Message 6 of 6
Anonymous
in reply to: Anonymous

In article <5D34F72766305017C450DA98F3C59511@in.WebX.maYIadrTaRb>, dengebre@tampabay.rr.com
says...
> Any idea on how one can determine which procedure cannot be found?
>
http://www.dependencywalker.com/ has never failed for me. Use it on your .DBX and it may tell
you right away what dll is missing (when it is linked)
You may also try and profile acad.exe. While before loading your watch the output window for
any errors (this may not work for 2004 locaked)

--
Jos Groot Lipman
Visit www.furix.com for BetterWMF and CompareDWG
Furix BV

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

Post to forums  

Autodesk Design & Make Report

”Boost