关于调用DLL的问题(50分)

  • 主题发起人 主题发起人 ntbbc
  • 开始时间 开始时间
N

ntbbc

Unregistered / Unconfirmed
GUEST, unregistred user!
一个动态联接库(wek.dll)提供了一下调用方法:
HRESULT _stdcall Login([in] long Id, [in] BSTR Passwd, [out, retval] long * Value );
请问如何在delphi中调用?
 
procedure Login (ID:LongInt;
Passwd:WideString;var Value:LongInt);stdcall;
external 'Wek.dll';
 
不行呀!提示无法定位程序输入点lonin于动态联接库wek.dll上。
 
路径不对,是不是
 
procedure Login (ID:LongInt;
Passwd:WideString;var Value:LongInt);stdcall;
external 'Wek.dll' INDEX ??;
在写动态的Dll时尽量用Index,这样可增加程序的效益。
 
路径是对的,在system32下
这个dll不是我写的
 
不如你把DLL发过来,让我来试试. email:smokingroom@sina.com
 
to ntbbc:
如果如你所说,那肯定是dll文件有问题,下面是我刚写的一个简单的例子:
dll:
library pDemoProfileObject;
uses
ComServ;
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
{$R *.RES}
function Test1(a,b:integer):integer ;stdcall;//此处
begin
Result:=a+b;
end;
exports
Test1 index 1;
begin
end.

程序调用:
implementation
//DLL内函数调用
function Test1(a,b:integer):integer ;stdcall;
external 'D:/temp/pDemoProfileObject.dll';
{$R *.dfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Test1(1,2)));
end;
end.
 
顺便问一下,有哪位高手知道在不知道参数的情况下调用dll文件??
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
903
DelphiTeacher的专栏
D
后退
顶部