易截截图软件、单文件、免安装、纯绿色、仅160KB

Dephi声明如何转VB声明

小弟最近给医保做接口,对方提代的DLL是用好像是用Dephi写的,并且提供了Dephi的声明
对方的dephi声明
function checkuser(OperID: PChar; var returnMessage: pchar):Integer;stdcall; external 'zdtlmti.dll';

我写的VB声明
Public Declare Function checkuser Lib "zdtlmti.dll" (ByVal OperID As String, ByVal returnMessage As String) As Long

在VB调试环境调用的时候,系统马上崩溃,出现"应用程序发生异常 未知的软件异常 (OxOeedfade),位置为 Ox7c812afb.",确定之后立即就退出了;但是在编译之后调用就没有错误.
我看Dephi帮助说pchar是指针,小弟一看是指针就蒙,哪位同行有相关的经验,分享一下吧,我先致以最真诚的感谢
可能说不太好,你先试试吧:

既然是指针,那就要送字符串的地址,而不是字符串的值:

Public Declare Function checkuser Lib "zdtlmti.dll" (ByRef OperID As String, ByRef returnMessage As String) As Long

我也支持猴哥的。

或者你的声明方式不变,在引用时候这样引用试一试:

checkuser byval strptr(OperID),byval strptr(returnMessage)

先试试ByRef再说

几种情况我都试了,同样的错误,都快疯了,明天再和开发商联系吧,正常他们就应该提供几种常用语言的声明及调用代码,我只对应用的东西的感兴趣,一遇到这些系统的东西就犯愁

声明为Long,传字符串缓冲区指针进去试试。

VB code:
Public Declare Function checkuser Lib "


相关问答:

为什么C写DLL文件C、PB能调用VB不能调用

为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?

1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......

关于ASP.net(vb)播放监控录像的问题

我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......

vb打印问题


Printer.ScaleMode = 6
6表示毫米
Printer.PaperSize = vbPRPSA4

'初始坐标
x = 1
y = 4


'最大的线筐
Printer.DrawStyle = 0
Printer.Line (x, y)-(x + 132.5, y) ......

vb如何调用Illustrator(此前Illustrator未启动)?

请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click()
Dim app As New Illustrator.Application
Dim doc As Illustrator.Document
Dim thislayer As Illustrator.Layer ......

vb修改DTPicker1日期问题

Private Sub Check1_Click()
If Check1.Value = 1 Then
DTP1.Enabled = True
Else
DTP1.Enabled = False
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
DTP2.Enabled = True
Else ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号