vb的dll怎么调用啊!!!急!在线等候! 如果得到满意答复还可再加分。 (50分)

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

nibul

Unregistered / Unconfirmed
GUEST, unregistred user!
HRESULT _stdcall Decrypt([in, out] BSTR * Block, [out, retval] BSTR * Param2 );
HRESULT _stdcall encrypt([in, out] BSTR * Block, [out, retval] BSTR * Param2 );
在delphi怎么写!
 
很简单,到delphi的activex dll 中,自动加入两个参数decrypt和encrypt(设置in out)
都为bstr型,输出值为bstr×param2
 
不对吧,这个DLL是用VB写的,BSTR指的是字符类型,
你理解错了。
 
function Decrypt(var Block:pchar):pchar;stdcall;
 
我是这么写的
function Decrypt(var Block: WideString): WideString;safecall;external 'Encrypt.dll';
却提示无法定位输入点。
好像这个dll是object类的。
 
如果得到满意答复还可再加分。
 
vb的dll是Com组件,和Win32Api不同
要用CreateOleObject函数
 
CreateOleObject函数就好了!!!!
满意吧!!!!!
 
能说的具体点吗?
 
哈哈,delphi activex dll中也有该类型,确实指的是字符型,没错,去试试就知道了。
 
var
MyComObj:Variant;
begin
MyComObj:=CreateOleObject('ComA.objA');//这儿跟你的VB的Com的名称,要用Regsvr32注册
...................
end;

举一个例子:
procedure TForm1.Button1Click(Sender: TObject);
var
zbhdb:variant;
begin
zbhdb:=createoleobject('zbhDbVis.zbhFrmOpt');//zbhDbVis.zbhFrmOpt使用VB写的ActiveX Dll
...................
end;

不要忘了 Uses: ComObj,ActiveX,Variant


满意吧!!!!!!!!!!!!!
 
问题已经解决了我看了以前的旧贴子,问题与我的完全一样!编号是:180533。
谢谢大家的帮忙!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
926
SUNSTONE的Delphi笔记
S
I
回复
0
查看
755
import
I
后退
顶部