作者weiyi0321 (weiyi)
看板Visual_Basic
标题Re: [VB6 ] 使用ActiveX DLL
时间Tue May 6 15:27:52 2008
直接把DLL component拉进设计框架使用ABC_Get
跟
透过reference引入DLL (
Dim temp As ABCLib.MyABC←这是Class的名称
Set temp = New MyABC
Dim s As String
Dim a As Boolean
s = "YES,5"
a = temp.ABC_Get(s)
^^^^^^^^^这会被标示起来
)
在执行时会出现下面的错误讯息
Compiler error:
Function or interface marked as restricted, or the function uses an
Automation type not supported in Visual Basic
而被标示起来的function就是DLL里面提供的method..也就是下面的ABC_Get
DLL interface中method的宣告为
[id(1), helpstring("method ABC_Get")] HRESULT ABC_Get([in]CHAR* Cmd,
[out, retval]BOOL* F);
--
另外我在写code的时候..
通常写完function name( ←不是会自动出现提示吗?
我在写呼叫DLL method的时候都没有出现..
麻烦板友们解惑了..感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.75.117
※ 编辑: weiyi0321 来自: 140.114.75.117 (05/06 15:29)
1F:推 albb0920:那 Call MyABC.ABC_Get(s,a) 呢? 05/06 16:05
※ 编辑: weiyi0321 来自: 140.114.75.117 (05/06 17:09)
※ 编辑: weiyi0321 来自: 140.114.75.117 (05/06 17:14)
※ weiyi0321:转录至看板 Programming 05/06 18:35
2F:推 markart:class的名称不是被重新定义为temp? 05/07 10:26
3F:→ markart:不是应该叫做temp.ABC_Get(s)吗? 05/07 10:26
4F:→ weiyi0321:对~我这边po上来笔误了~修改一下 05/07 12:08
※ 编辑: weiyi0321 来自: 140.114.75.117 (05/07 12:09)
5F:推 markart:看你要不要确认一下DLL的内容,我自己写的是没啥问题 05/07 13:30
6F:→ markart:至於提示,不一定会有 05/07 13:31
7F:→ markart:我刚刚测试一下,自订的元件跟Class不会有提示 05/07 13:32
8F:→ markart:只有VB内建的元件跟函数、控制项等等才会有 05/07 13:33