我有一个在vb中使用外部dll的解决方案,当我在调试器中从vb运行它时,它可以正常工作。但是,当尝试从bin文件夹中的exe文件执行程序时,程序崩溃,发布exe文件给出了" InvalidOperation"消息和debug exe给出如下所示的错误消息。
代码段是:
VB:
<DllImport("libjcom_exp-0.dll", Entrypoint:="jcreate")> _
Public Shared Function Jcreate() As IntPtr
End Function
Public Sub New()
objptr = Jcreate()
error_message = Jget_last_err(objptr)
Jset_rps(objptr, 40)
If error_message.Length <> 0 Then
Throw New System.Exception(error_message)
End If
End Sub
C ++:
DLL_EXP void * __stdcall jcreate()
{
return new libjcom_exp;
}
我在搜索时尝试过的事情:
其他人建议&#39; jcreate&#39;和&#39; get_last_error&#39;函数同时执行,在调试模式下,您单独跨越单行,然后不会触发问题。
操作系统是Windows 10和VB 2008。
提前谢谢。
编辑:我还使用过&#39;以管理员身份运行&#39;两个exe的结果相同