P
phnimx
I've completed migrating one of our company's C++ Managed Code
applications to VS2005. I'm now attempting to run the application but there
seems to be problems when accessing an object that is properly exported from
a utility dll of ours. The dll is written in MFC with sections of C++
Managed Code.
The dll exports its objects in the same manner as any VS2005 Solution Wizard
driven win32 dll base code, using the model: __declspec(dllexport).
In fact when I peer into the dll with the DepedencyWalker app, the exports
are readily visible.
I copied msvcr80d.dll into the dll's folder before implementing
DepedencyWalker app on the dll.
DepedencyWalker complains that msvcr80d.dll requires coredll.dll and
dwmapi.dll.
This seems strange because the dll is NOT targeted for any embedded
platforms, it's targeted for x86 platforms only.
Further, when I attempt to step into the new(ing) up of the first object in
the dll, I get the following message:
"Managed Debugging Assistant 'FatalExecutionEngineError' has detected a
problem in C:\MyApp\MyApp.exe.
Additional Information: The runtime has encountered a fatal error. The
address of the error was at 0x79e7edd5 on thread 0xa20. The error code is
0x00000005. This error may be a bug in the CLR or in the unsafe or
non-verifiable portions of user code. Common sources of this bug include
user marshaling error for COM-Interop or PInvoke, which may corrupt the
stack."
I'm not an expert in COM-Interop but I believe C++ Managed Code leverages
just that to accomplish its .NET integration magic.
Can you provide me with any information on the above issues?
Can you provide me with the basics and the gotchas with regard to dll
exports and general access or a dlls methods and/or objects?
Thanks
Phnimx
applications to VS2005. I'm now attempting to run the application but there
seems to be problems when accessing an object that is properly exported from
a utility dll of ours. The dll is written in MFC with sections of C++
Managed Code.
The dll exports its objects in the same manner as any VS2005 Solution Wizard
driven win32 dll base code, using the model: __declspec(dllexport).
In fact when I peer into the dll with the DepedencyWalker app, the exports
are readily visible.
I copied msvcr80d.dll into the dll's folder before implementing
DepedencyWalker app on the dll.
DepedencyWalker complains that msvcr80d.dll requires coredll.dll and
dwmapi.dll.
This seems strange because the dll is NOT targeted for any embedded
platforms, it's targeted for x86 platforms only.
Further, when I attempt to step into the new(ing) up of the first object in
the dll, I get the following message:
"Managed Debugging Assistant 'FatalExecutionEngineError' has detected a
problem in C:\MyApp\MyApp.exe.
Additional Information: The runtime has encountered a fatal error. The
address of the error was at 0x79e7edd5 on thread 0xa20. The error code is
0x00000005. This error may be a bug in the CLR or in the unsafe or
non-verifiable portions of user code. Common sources of this bug include
user marshaling error for COM-Interop or PInvoke, which may corrupt the
stack."
I'm not an expert in COM-Interop but I believe C++ Managed Code leverages
just that to accomplish its .NET integration magic.
Can you provide me with any information on the above issues?
Can you provide me with the basics and the gotchas with regard to dll
exports and general access or a dlls methods and/or objects?
Thanks
Phnimx