我有一个 PL/I Dll,我正在尝试将 DLL 导入到我的 VB.Net 应用程序中。第一次尝试成功,但在几次调用后,程序确实退出了,没有发表评论。并且不可能从两个不同的线程两次调用这些函数。我从 paramone 中的 DLL 得到结果。任何想法为什么这不能正常工作以及如何让它工作?
<DllImport(("PLIDLL.dll"), CallingConvention:=CallingConvention.StdCall)> _
Public Shared Sub MYFUNC(ByVal LogonString As String, _
<MarshalAs(UnmanagedType.VBByRefStr)> ByRef paramone As String, _
ByVal paramtwo As String)
End Sub
如果有什么不清楚的请询问。
问候林
PS:我已经尝试重写 PL/I 代码,以便它返回一个字符串而不是 ByRef 值。同样的问题。
PLI 中的子:
MYFUNC: PROC(LOGONSTRING,PARAMONE,PARAMTWO) REORDER
OPTIONS(FROMALIEN NODESCRIPTOR
BYADDR LINKAGE(STDCALL));
DEFAULT RANGE(*) STATIC;
DCL LOGONSTRING CHAR(30);
DCL PARAMONE CHAR(2033);
DCL PARAMTWO CHAR (5500);