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 "
相关问答:
Printer.ScaleMode = 6
6表示毫米
Printer.PaperSize = vbPRPSA4
'初始坐标
x = 1
y = 4
'最大的线筐
Printer.DrawStyle = 0
Printer.Line (x, y)-(x + 132.5, y) ......
希望大家能够帮我下.感谢了..
源码传在大米盘 VB6 的源码 http://www.damipan.com/file/3wNoKLW.html
转为VB.NET源码.
小弟完全是新手 不懂的说.麻烦各位帮忙一下
我的EMAIL是:4452 ......
VB偶学得不错,现在大一,高三的时候就学VB了,现在学校里都是学C#和VB.NET的兄弟多。。。
偶要转行VB.NET了~当年学VB学了2年,对VB里面的常用函数都十分了解。
Select、If结构、For Next循环、等都了解。。。 ......
用VB怎么只针对windows自带的文件的右键添加菜单 如(.txt .doc)
这个是只针对以这两个为扩展名的文件操作
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shell\[随便起名]\command]
@= ......
VB 如何通过API获取网卡的硬件信息,比如:
我的网卡为:
Atheros L1 Gigabit Ethernet 10/100/1000Base-T Controller
如何通过这个网卡名获得像下面这个样的信息
\Device\Tcpip_{113F8C45-C710-4CA4-97 ......