我把我的一个组件(只用C++,不使用ATL和MFC编写的)导入到win2000“组件服务”里面,为什么他没有接口信息阿,甚至连名字都没有??空空 请过来人告诉我怎么能让组件服务认识我的组件,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果使用atl或是mfc,类型库自动包含在生成的dll中,所以没有问题 怎么能让组件服务认识我的组件呢?谢谢!我尝试在idl里面加了Library关键字,生成了一个tlb文件,还是老样子,能给我一个例子吗?我想知道我到底差了些什么? //MathCOM.idl文件// MathCOM.idl : IDL source for MathCOM.dll//// This file will be processed by the MIDL tool to// produce the type library (MathCOM.tlb) and marshalling code.import "oaidl.idl";import "ocidl.idl"; [ uuid(FAEAE6B7-67BE-42a4-A318-3256781E945A), helpstring("ISimpleMath Interface"), object, pointer_default(unique) ] interface ISimpleMath : IUnknown { HRESULT Add([in]int nOp1,[in]int nOp2,[out,retval]int * pret); HRESULT Subtract([in]int nOp1,[in]int nOp2,[out,retval]int * pret); HRESULT Multiply([in]int nOp1,[in]int nOp2,[out,retval] int * pret); HRESULT Divide([in]int nOp1,[in]int nOp2,[out,retval]int * pret); }; [ uuid(01147C39-9DA0-4f7f-B525-D129745AAD1E), helpstring("IAdvancedMath Interface"), object, pointer_default(unique) ] interface IAdvancedMath : IUnknown { HRESULT Factorial([in]int nOp1,[out,retval]int * pret); HRESULT Fabonacci([in]int nOp1,[out,retval]int * pret); };[ uuid(CA3B37EA-E44A-49b8-9729-6E9222CAE844), version(1.0), helpstring("MATHCOM 1.0 Type Library")]library MATHCOMLib{ importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(3BCFE27E-C88D-453C-8C94-F5F7B97E7841), helpstring("MATHCOM Class") ] coclass MATHCOM { [default] interface ISimpleMath; interface IAdvancedMath; };}; 给你个网址你看看吧!哈哈!写的特别经典!这里面你一定能找到你的问题所在!http://www.vckbase.com/vckbase/columnist/venture/ 没明白你的意思,你给的地址似乎是一个COM教程,我现在就想知道那一点点问题所在,你能不能把文章里面涉及到我的问题的范围指出来?我粗略看了看,没发现。 我找到问题了,我把GUID写错了。ft啊,还是谢谢两位的帮忙,让我知道对照着tlb去看发现了原因 Cstring类 请问如何防止自定义消息的重复投递 CEdit 类的 SetLimiText 限制不了? 如何穿透http代理服务器 怎么把累CString中的数值符号转化为数值? 请问高手,如何让数据库(SQL Server)自动删除一些过期的记录,避免表无限增大。 怎样在CView里面制定的区域画出一个button控件? 请救救我 不会吧!这样一个问题竟然几年来没有人知道如何解决?!高手快显身吧!:( 学过C++,若现在要学做网页,要选择何种语言比较好? 一个关于photoshop是问题! 讨论:国人写一个开源的PC模拟器可能吗(就是 vmWare 之流)?
// MathCOM.idl : IDL source for MathCOM.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (MathCOM.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
uuid(FAEAE6B7-67BE-42a4-A318-3256781E945A),
helpstring("ISimpleMath Interface"),
object,
pointer_default(unique)
]
interface ISimpleMath : IUnknown
{
HRESULT Add([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
HRESULT Subtract([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
HRESULT Multiply([in]int nOp1,[in]int nOp2,[out,retval] int * pret);
HRESULT Divide([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
}; [
uuid(01147C39-9DA0-4f7f-B525-D129745AAD1E),
helpstring("IAdvancedMath Interface"),
object,
pointer_default(unique)
]
interface IAdvancedMath : IUnknown
{
HRESULT Factorial([in]int nOp1,[out,retval]int * pret);
HRESULT Fabonacci([in]int nOp1,[out,retval]int * pret);
};
[
uuid(CA3B37EA-E44A-49b8-9729-6E9222CAE844),
version(1.0),
helpstring("MATHCOM 1.0 Type Library")
]
library MATHCOMLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb"); [
uuid(3BCFE27E-C88D-453C-8C94-F5F7B97E7841),
helpstring("MATHCOM Class")
]
coclass MATHCOM
{
[default] interface ISimpleMath;
interface IAdvancedMath;
};
};
http://www.vckbase.com/vckbase/columnist/venture/