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 "
相关问答:
要用vb打印一条线,长度是100毫米怎么写?
关注
VB code:
Printer.ScaleMode = vbMillimeters
Printer.Line (10, 10)-(110, 10)
Printer.ScaleMode = vbMillimeters
Print ......
VB偶学得不错,现在大一,高三的时候就学VB了,现在学校里都是学C#和VB.NET的兄弟多。。。
偶要转行VB.NET了~当年学VB学了2年,对VB里面的常用函数都十分了解。
Select、If结构、For Next循环、等都了解。。。 ......
怎么优化查询的效率,比如我想从100万条记录中每次只查询100条记录的话,那么这条sql语句该怎么实现,注意:语言是VBScript的,
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html
涉及到算法,goog ......
我制作了个用户控件,需要动态加载到窗体上
Set objExt = Controls.Add("工程1.meActiveX", argName)
objExt.Visible = True
程序一次能加载N个, 现在想对 ......