社区
Windows SDK/API
帖子详情
高分求教有关"Import Type Library"的问题
ysh
2003-02-17 02:59:19
.tlb的类型库,用BCB的“Import Type Library”导入后,如何调用?有源代码最好!
...全文
84
4
打赏
收藏
高分求教有关"Import Type Library"的问题
.tlb的类型库,用BCB的“Import Type Library”导入后,如何调用?有源代码最好!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Behard
2003-02-18
打赏
举报
回复
mark
ysh
2003-02-18
打赏
举报
回复
通过Import Type Library得到的*_TLB.h的代码(部分)如下:
template<class T>
class NOTESSESSIONDispT : public TAutoDriver<NOTESSESSION>
{
public:
NOTESSESSIONDispT(){}
NOTESSESSIONDispT(NOTESSESSION *pintf)
{
TAutoDriver<NOTESSESSION>::Bind(pintf, false);
}
NOTESSESSIONDispT(NOTESSESSIONPtr pintf)
{
TAutoDriver<NOTESSESSION>::Bind(pintf, true);
}
NOTESSESSIONDispT& operator=(NOTESSESSION *pintf)
{
TAutoDriver<NOTESSESSION>::Bind(pintf, false);
return *this;
}
NOTESSESSIONDispT& operator=(NOTESSESSIONPtr pintf)
{
TAutoDriver<NOTESSESSION>::Bind(pintf, true);
return *this;
}
VARIANT __fastcall NEW();
void __fastcall CLOSE();
void __fastcall SETENVIRONMENTVAR(BSTR VARNAME/*[in]*/, VARIANT VALUE,
VARIANT ISSYSTEMVAR/*[in,opt]*/= TNoParam());
VARIANT __fastcall GETENVIRONMENTVALUE(BSTR VARNAME/*[in]*/,
VARIANT ISSYSTEMVAR/*[in,opt]*/= TNoParam());
BSTR __fastcall GETENVIRONMENTSTRING(BSTR VARNAME/*[in]*/,
VARIANT ISSYSTEMVAR/*[in,opt]*/= TNoParam());
void __fastcall UPDATEPROCESSEDDOC(VARIANT DOCUMENT/*[in]*/);
VARIANT __fastcall GETDATABASE(BSTR SERVER/*[in]*/, BSTR FILE/*[in]*/,
VARIANT CREATEONFAIL/*[opt]*/= TNoParam());
VARIANT __fastcall CREATEDATETIME(BSTR DATEEXPR/*[in]*/);
VARIANT __fastcall CREATELOG(BSTR PROGRAMNAME/*[in]*/);
VARIANT __fastcall CREATENEWSLETTER(VARIANT COLLECTION/*[in]*/);
VARIANT __fastcall GETDBDIRECTORY(BSTR SERVER/*[in]*/);
VARIANT __fastcall CREATEDATERANGE();
VARIANT __fastcall FREETIMESEARCH(VARIANT WINDOW, short DURATION/*[in]*/, VARIANT NAMES,
VARIANT FIRSTFIT/*[in,opt]*/= TNoParam());
VARIANT __fastcall CREATETIMER();
VARIANT __fastcall CREATENAME(BSTR NAME/*[in]*/, VARIANT LANGUAGE/*[in,opt]*/= TNoParam());
VARIANT __fastcall GETWIN32DOMAIN(VARIANT SERVER/*[in,opt]*/= TNoParam());
VARIANT __fastcall CREATERICHTEXTSTYLE();
BSTR __fastcall GETNEWSGROUPPATH(BSTR arg0/*[in]*/);
VARIANT __fastcall CREATERICHTEXTPARAGRAPHSTYLE();
void __fastcall set_USERNAME(BSTR Value);
BSTR __fastcall get_USERNAME();
void __fastcall set_PLATFORM(BSTR Value);
BSTR __fastcall get_PLATFORM();
void __fastcall set_CURRENTDATABASE(VARIANT Value);
VARIANT __fastcall get_CURRENTDATABASE();
void __fastcall set_CURRENTAGENT(VARIANT Value);
VARIANT __fastcall get_CURRENTAGENT();
void __fastcall set_LASTRUN(VARIANT Value);
VARIANT __fastcall get_LASTRUN();
void __fastcall set_EFFECTIVEUSERNAME(BSTR Value);
BSTR __fastcall get_EFFECTIVEUSERNAME();
void __fastcall set_ISONSERVER(VARIANT Value);
VARIANT __fastcall get_ISONSERVER();
void __fastcall set_LASTEXITSTATUS(long Value);
long __fastcall get_LASTEXITSTATUS();
void __fastcall set_SAVEDDATA(VARIANT Value);
VARIANT __fastcall get_SAVEDDATA();
void __fastcall set_ADDRESSBOOKS(VARIANT Value);
VARIANT __fastcall get_ADDRESSBOOKS();
void __fastcall set_NOTESVERSION(BSTR Value);
BSTR __fastcall get_NOTESVERSION();
void __fastcall set_COMMONUSERNAME(BSTR Value);
BSTR __fastcall get_COMMONUSERNAME();
void __fastcall set_INTERNATIONAL(VARIANT Value);
VARIANT __fastcall get_INTERNATIONAL();
void __fastcall set_DOCUMENTCONTEXT(VARIANT Value);
VARIANT __fastcall get_DOCUMENTCONTEXT();
void __fastcall set_INTERNETDOMAINNAME(BSTR Value);
BSTR __fastcall get_INTERNETDOMAINNAME();
void __fastcall set_INTERNETHOSTNAME(BSTR Value);
BSTR __fastcall get_INTERNETHOSTNAME();
void __fastcall set_NOTESBUILDVERSION(long Value);
long __fastcall get_NOTESBUILDVERSION();
void __fastcall set_USERNAMELIST(VARIANT Value);
VARIANT __fastcall get_USERNAMELIST();
void __fastcall set_CONVERTMIME(VARIANT Value);
VARIANT __fastcall get_CONVERTMIME();
__property BSTR USERNAME = {read = get_USERNAME};
__property BSTR PLATFORM = {read = get_PLATFORM};
__property VARIANT CURRENTDATABASE = {read = get_CURRENTDATABASE};
__property VARIANT CURRENTAGENT = {read = get_CURRENTAGENT};
__property VARIANT LASTRUN = {read = get_LASTRUN};
__property BSTR EFFECTIVEUSERNAME = {read = get_EFFECTIVEUSERNAME};
__property VARIANT ISONSERVER = {read = get_ISONSERVER};
__property long LASTEXITSTATUS = {read = get_LASTEXITSTATUS};
__property VARIANT SAVEDDATA = {read = get_SAVEDDATA};
__property VARIANT ADDRESSBOOKS = {read = get_ADDRESSBOOKS};
__property BSTR NOTESVERSION = {read = get_NOTESVERSION};
__property BSTR COMMONUSERNAME = {read = get_COMMONUSERNAME};
__property VARIANT INTERNATIONAL = {read = get_INTERNATIONAL};
__property VARIANT DOCUMENTCONTEXT = {read = get_DOCUMENTCONTEXT};
__property BSTR INTERNETDOMAINNAME = {read = get_INTERNETDOMAINNAME};
__property BSTR INTERNETHOSTNAME = {read = get_INTERNETHOSTNAME};
__property long NOTESBUILDVERSION = {read = get_NOTESBUILDVERSION};
__property VARIANT USERNAMELIST = {read = get_USERNAMELIST};
__property VARIANT CONVERTMIME = {read = get_CONVERTMIME, write = set_CONVERTMIME};
};
typedef NOTESSESSIONDispT<NOTESSESSION> NOTESSESSIONDisp;
里面找不到BindDefault方法,如果用Bind方法,应该传个什么参数进去?
ysh
2003-02-18
打赏
举报
回复
能否具体点,比如有以下定义:
interface MYSSESSION : public TDispWrapper<IDispatch>
{
//....
}
我该如何写?我并没有找到Create()及BindDefault();
另外还有一个问题,如果最后发布这样开发出来的程序时,是不是一定要在目标机器上安装用到的类型库?如何安装? 谢谢!
kingcaiyao
2003-02-17
打赏
举报
回复
用Import Type Library 导入后,会生成一个**_TLB.h,将你的这头文件加入到你的应用程序,然后用以下三种方法其中之一来调用:
1.采用自定义接口
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCOMIYourInterface App=CoYourInterface::Create();
App->YourMethodName(Parameter1,Parameter2,......);
}
2.采用IDISPATCH接口
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IYourInterfaceDisp App;
App.BindDefault();
App.YourMethodName(Parameter1,......);
}
3.采用万能对象
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant V=Variant::CreateObject("ServerName.COM Object Name");//括号中的是COM对象的名称,你需要在注册表中找到它。
V.YourMethodName(Parameter1,....);
}
VC++中可能遇到的
问题
收藏
VC++中可能遇到的
问题
收藏 | 旧一篇: 在VC中动态加载ODBC时的一些小细节 function StorePage(){d=document;t=d.selection?(d.selection.
type
!=None?d.selection.createRange().text:):(d.getSelection?d....
VC++中可能遇到的
问题
A 如果只使用其数据成员m_hWnd的话是没
问题
啦,但是使用其它的函数,例如GetParentFrame就可能出
问题
。参考 http://blog.csdn.net/jiangsheng/archive/2004/01/05/3797.aspx 蒋老大贴了自己的BLOG文章啊? 那我也贴...
webmagic采集CSDN的Java_WebDevelop页面
, 关于表单提交后跟ajax请求, java web上传文件功能的
问题
, solr高亮
问题
, java web上传文件到项目里自动刷新项目后才能读取到,
求教
一个手机网站开发
问题
, 用MyEclipse做图书管理系统出现HTTP Status 500 - , 新人...
Win32 & .Net Q&A 200509
要获得元素相关的接口,可以在IHTMLElement接口上调用QueryInterface,请求被需要的元素相关的接口。举例来说img 元素提供一个 IHTMLImgElement接口以可能用来明确地操纵img元素。要查看可用的元素相关的接口列表,查看...
链接:MSDN UserNet等
高分
求教
!!派生状态栏的详细生成方法 T 请说明详细的步骤?谢谢. A Knowledge Base Q315603 HOW TO: Create a Class Derived from CControlBar and Its SubClasses in Visual C++ 6. Q 请问,如何做一个象IE中...
Windows SDK/API
1,222
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章