1

我的DLLImport(A Delphi DLL)与 Winform 应用程序配合良好,但我的 ASP.net WebForm 应用程序(在 IIS 7 上)出现异常。

有人可以告诉我为什么以及如何处理它吗?

[DllImport("DLL_YINLIAN_INTERFACE.dll", EntryPoint = "YL_SetParam", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
        static extern int YL_SetParam(int iParamIndex, byte[] ucParamBuffer);

这是调试时的异常:

System.Runtime.InteropServices.SEHException (0x80004005): 
   External component has thrown an exception.
   at JFTHardAPI.SandTran.YL_SetParam(Int32 iParamIndex, Byte[] ucParamBuffer)
4

1 回答 1

0

SEHException从非托管代码中抛出。使用调试器:Debug > Exceptions打开.Thrown flag for Win32 Exceptions

另外,尝试将非托管函数更改为使用StdCall. Check the calling convention在托管和非托管方面。使用错误的调用约定会影响调用堆栈的状态。在此处输入图像描述

于 2012-06-15T12:10:25.480 回答