firemail

标题: 基于idl接口文件调用注意事项 [打印本页]

作者: hechengjin    时间: 2015-8-4 11:41
标题: 基于idl接口文件调用注意事项
本帖最后由 hechengjin 于 2015-8-5 07:14 编辑


idl中定义
1.
attribute nsIPop3Sink pop3Sink;
2.
AString getCellText(in long row, in nsITreeColumn col);

js中调用
1.
A.pop3Sink
2.
var cellText = this.view.getCellText(l, keyCol);

c++中的调用
1.
SetPop3Sink(nsIPop3Sink* aPop3Sink) 和 GetPop3Sink(nsIPop3Sink** aPop3Sink)
如:
nsCOMPtr<nsIPop3URL> pop3Url = do_CreateInstance(kPop3UrlCID, &rv);
pop3Url->SetPop3Sink(pop3Sink);
如上代码如果不知道是创建的哪个类的实例可通过其接口nsIPop3URL属性对应的方法SetPop3Sink进行查找,看哪个类实现了这个方法


2.实现:
NS_IMETHODIMP nsMsgDBView::GetCellText(int32_t aRow, nsITreeColumn* aCol, nsAString& aValue)
调用:
nsCOMPtr<nsITreeView> mView;
nsAutoString text;
  mView->GetCellText(aRowIndex, aColumn, text);









欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3