Hi again,
I made a note a while ago about a potential bug that would occur if my app
installed to a device that didn't have gx.dll in the \Windows directory.
The recommendation seemed to be that if I'm using the GAPI (which I am) that
I should include gx.dll with my distribution and store it in the same folder
as my application. (See the end of this post for reference info).
So, my question is, if gx.dll isn't included on the device in \Windows, does
my app need to manually handle that case and dynamically load gx.dll, or does
the O/S automatically do something like:
1) Load app and sees that it requires gx.dll
2) Checks \Windows folder for gx.dll
3) If gx.dll isn't found in \Windows, check application's folder for gx.dll
4) If found, load the gx.dll found within the application folder
Or am I just supposed to always statically/dynamically link to my own copy
of gx.dll and assume that it won't be in the Windows directory? The above
makes sense to me, but I'm not sure if that's what happens, since it seems a
little hand-wavy.
I tried to delete gx.dll from the emulator to test this out but WM wouldn't
have it.
Here's one of the quotes I wrote down. I have two others, but I didn't save
their links for some reason:
"On PocketPCs and Smartphones, a specific library called "gx.dll" needs to
be placed in the \Windows folder or the application folder of your program.
Newer devices have this DLL built in, but some older devices does not. If the
file gx.dll is not available CGapiDisplay::OpenDisplay will return
GDERR_NOGAPI. The file gx.dll is included in the GapiDraw SDK in the "misc"
folder. It is recommended that you always ship gx.dll with your application."
Reference:
http://www.develant.com/docs/gapidraw/36/gapidisplay-main.htm
Would anyone happen to know what goes on behind the scenes (or at least what
Microsoft expects us to do) in the case of a missing gx.dll?
Thank you,
Chris Writely