请问能否在vb中调用D5写的动态连接库(带变参的)(100分)

  • 主题发起人 主题发起人 龙在江湖
  • 开始时间 开始时间

龙在江湖

Unregistered / Unconfirmed
GUEST, unregistred user!
动态连接库源代码(D5)(DLL.DLL)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

procedure gc(var STT:pchar);stdcall;
export;
{过程带变参}
implementation
procedure gc(var STT:pchar){过程};
var
Ssss:String;
begin
Ssss:='字符串';
showmessage(STT);
STT:=pchar(Ssss);
end;

exports
gc;
{过程}
end.

在D5中调用一切正常,但是在VB中调用总是一运行就出现错误
错误提示为:vb6发生错误(Dll.dll)。
vb6即将关闭。
vb源代码
Private Declare Sub gc Lib "dll.dll" (ByVal STT As String)
Private Sub Command1_Click()
Dim aa As String
aa = "ss"
gc (aa)
MsgBox aa, , "操作成功"
End Sub
请各位帮忙给小弟指出错误。最好能给我一段代码。
 
你用字符串调用一定出错,没给字符串分配空间
aa = Space(60)
 
DLL导出函数的参数是指针类的,你调用的时候是用什么类型啊。我对VB不熟悉,也许就是
在参数传递的类型上有问题,改一下是不是好点!
 
后退
顶部