易截截图软件、单文件、免安装、纯绿色、仅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 "


相关问答:

vb打印

要用vb打印一条线,长度是100毫米怎么写?
关注

VB code:
Printer.ScaleMode = vbMillimeters
Printer.Line (10, 10)-(110, 10)

    Printer.ScaleMode = vbMillimeters
    Print ......

从VB转行VB.NET~~~开始的时候如何学基础入门啊~

VB偶学得不错,现在大一,高三的时候就学VB了,现在学校里都是学C#和VB.NET的兄弟多。。。
偶要转行VB.NET了~当年学VB学了2年,对VB里面的常用函数都十分了解。
Select、If结构、For Next循环、等都了解。。。 ......

vb查询数据库问题

怎么优化查询的效率,比如我想从100万条记录中每次只查询100条记录的话,那么这条sql语句该怎么实现,注意:语言是VBScript的,
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html

涉及到算法,goog ......

VB 请教高手关于用户控件问题

我制作了个用户控件,需要动态加载到窗体上

    Set objExt = Controls.Add("工程1.meActiveX", argName)
    objExt.Visible = True

程序一次能加载N个, 现在想对 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号