一个Type Library的问题!

wallacechao 2003-03-22 08:54:41
我是个BCB新手,想用BCB做一个网站,书上有一个例子,其中有一部分是这样的,
2:点击菜单的View->Type Library,打开Type Library编辑器,并且在界面IServer1下新建一个method叫做QueryEmployee,另外加上三个参数,分别是INPUT1,INPUT2及ret,下面是此方法的程序内容
STDMETHODIMP TServer1Impl::QueryEmployee(BSTR INPUT1,BSTR INPUT2,BSTR* ret)
{WideString temp;
temp=INPUT2;
temp=temp+"%";
m_DataModule->qQueryEmployee->Close();
m_DataModule->qQueryEmployee->ParamByName("名字")->AsString=INPUT1;
m_DataModule->qQueryEmployee->Open();
m_DataModule->qtpQueryEmployee->MaxRows=m_DataModule->qQueryEmployee->RecordCount;
*ret =(WideString)(m_DataModule->qtpQueryEmployee->Content());
return S_OK;
}
我一直找不到写这个程序的地方,如果在那个TEXT的地方写,他又告诉出错。关键是找不到STDMETHODIMP TServer1Impl::QueryEmployee(BSTR INPUT1,BSTR INPUT2,BSTR* ret)这个头。
我到现在还弄不明白Type Library的真正用处.

...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuptbluesky 2003-03-25
  • 打赏
  • 举报
回复
同意rh(☆执子之手☆)
你刷新之后,可以在实现文件(***Imp1.cpp)文件中可以找到该函数框架
rh 2003-03-24
  • 打赏
  • 举报
回复
假设是自己生成接口,然后生成方法
则可以在tlb.h里找到方法的定义,类似于下:
template <class T> HRESULT __fastcall
YourInterfaceNameDispT<T>::YourMethodName(YourParamType YourParamName/*[in or out]*/)
{
_TDispID _dispid(*this, OLETEXT("YourMethodName"), DISPID(2));
TAutoArgs<1> _args;
_args[1] = YourParamName /*[VT_I4:0]*/;
return OleFunction(_dispid, _args);
}
rh 2003-03-24
  • 打赏
  • 举报
回复
做网站?涉及到类型库?你写的是不是Active Server Object啊?然后在ASP里调用?

你在类型库编辑器里新增加了方法之后,一定要记得按刷新,才能在代码里生成你的东西
1 必须按刷新
2 必须保证接口无错,比如写ASO,它的方法,返回值只能是HRESULT,不然不能生成你要的代码,会告诉你有错误。注意看类型库编辑器的状态栏提示:P
wallacechao 2003-03-24
  • 打赏
  • 举报
回复
难道没有人研究过这方面的学问吗?

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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