Vb调用COM组件

CCThinkBank 2014-05-20 07:08:46
COM组件代码如下:


limport "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),
dual,
helpstring("IMyCOMDll2 Interface"),
pointer_default(unique)
]
interface IMyCOMDll2 : IDispatch
{
[id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);
};

[
uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),
version(1.0),
helpstring("COMDLL2 1.0 Type Library")
]
library COMDLL2Lib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");

[
uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),
helpstring("MyCOMDll2 Class")
]
coclass MyCOMDll2
{
[default] interface IMyCOMDll2;
};
};



VB代码如下:



Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub



问题:编译时候一直报错错误信息为“Excpeted Function or Variable”


是什么意思?
...全文
2460 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CCThinkBank 2014-05-21
  • 打赏
  • 举报
回复
引用 7 楼 worldy 的回复:
“Excpeted Function or Variable? 这个是你拷贝出来的?Excpeted是什么意思啊?
单词写错了应该是:expected, 这个是运行的时候报的一个编译类型的错误。
worldy 2014-05-21
  • 打赏
  • 举报
回复
“Excpeted Function or Variable? 这个是你拷贝出来的?Excpeted是什么意思啊?
CCThinkBank 2014-05-21
  • 打赏
  • 举报
回复
引用 5 楼 worldy 的回复:
vb6 在vb6的工程-引用菜单中中找到对应的tlb文件,加入到工程,然后使用对象
以经引用加入到工程。
worldy 2014-05-21
  • 打赏
  • 举报
回复
vb6 在vb6的工程-引用菜单中中找到对应的tlb文件,加入到工程,然后使用对象
CCThinkBank 2014-05-20
  • 打赏
  • 举报
回复
引用 3 楼 worldy 的回复:
[quote=引用 楼主 CCThinkBank 的回复:] COM组件代码如下:


limport "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),
		dual,
		helpstring("IMyCOMDll2 Interface"),
		pointer_default(unique)
	]
	interface IMyCOMDll2 : IDispatch
	{
		[id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);
	};

[
	uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),
	version(1.0),
	helpstring("COMDLL2 1.0 Type Library")
]
library COMDLL2Lib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),
		helpstring("MyCOMDll2 Class")
	]
	coclass MyCOMDll2
	{
		[default] interface IMyCOMDll2;
	};
};

VB代码如下:


Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
 Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub

问题:编译时候一直报错错误信息为“Excpeted Function or Variable” 是什么意思?
引用 楼主 CCThinkBank 的回复:
COM组件代码如下:


limport "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),
		dual,
		helpstring("IMyCOMDll2 Interface"),
		pointer_default(unique)
	]
	interface IMyCOMDll2 : IDispatch
	{
		[id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);
	};

[
	uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),
	version(1.0),
	helpstring("COMDLL2 1.0 Type Library")
]
library COMDLL2Lib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),
		helpstring("MyCOMDll2 Class")
	]
	coclass MyCOMDll2
	{
		[default] interface IMyCOMDll2;
	};
};

VB代码如下:


Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
 Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub

问题:编译时候一直报错错误信息为“Excpeted Function or Variable” 是什么意思?
没见过VB这样用法的,Lz是vb多少?[/quote] Vb6.0
worldy 2014-05-20
  • 打赏
  • 举报
回复
引用 楼主 CCThinkBank 的回复:
COM组件代码如下:


limport "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),
		dual,
		helpstring("IMyCOMDll2 Interface"),
		pointer_default(unique)
	]
	interface IMyCOMDll2 : IDispatch
	{
		[id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);
	};

[
	uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),
	version(1.0),
	helpstring("COMDLL2 1.0 Type Library")
]
library COMDLL2Lib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),
		helpstring("MyCOMDll2 Class")
	]
	coclass MyCOMDll2
	{
		[default] interface IMyCOMDll2;
	};
};

VB代码如下:


Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
 Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub

问题:编译时候一直报错错误信息为“Excpeted Function or Variable” 是什么意思?
引用 楼主 CCThinkBank 的回复:
COM组件代码如下:


limport "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),
		dual,
		helpstring("IMyCOMDll2 Interface"),
		pointer_default(unique)
	]
	interface IMyCOMDll2 : IDispatch
	{
		[id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);
	};

[
	uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),
	version(1.0),
	helpstring("COMDLL2 1.0 Type Library")
]
library COMDLL2Lib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),
		helpstring("MyCOMDll2 Class")
	]
	coclass MyCOMDll2
	{
		[default] interface IMyCOMDll2;
	};
};

VB代码如下:


Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
 Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub

问题:编译时候一直报错错误信息为“Excpeted Function or Variable” 是什么意思?
没见过VB这样用法的,Lz是vb多少?
CCThinkBank 2014-05-20
  • 打赏
  • 举报
回复
引用 楼主 CCThinkBank 的回复:
COM组件代码如下: VB代码如下:


Dim ctp As COMDLL2Lib.MyCOMDll2

Private Sub Command3_Click()
 Dim n As Integer
n = ctp.COMDLL2_ADD(1, 1)
End Sub

Private Sub Form_Load()
Set ctp = New COMDLL2Lib.MyCOMDll2
End Sub

问题:编译时候一直报错错误信息为“Excpeted Function or Variable” 是什么意思?
n = ctp.COMDLL2_ADD(1, 1)一直是这一行代码出现问题
CCThinkBank 2014-05-20
  • 打赏
  • 举报
回复
COM组件已经引用到工程

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧