写xpcom组件我们经常copy paste,因为xpcom组件的与业务无关的注册、QueryInterface代码都是基本固定的,写了一个自动生成xpcom组件的template,这样就可以只关心核心业务,避免书写样板式的代码。
=begin
NOTICE:
Before use the code:
You should use command "gem install uuid" to install uuid gem for ruby
Once installed, create a uuid.state file by running command "uuid-setup" ...
XPCOM组件,数组作为传出和传入的参数,c++这种支持引用传参的语言与idl接口的声明是一致的,但在javascript语言中,参数传递都是值传递,所以参数是不能直接作为返回值的。这样用javascript写xpcom传入和传出参数时,就会有一些特殊的要求。我们举一个简单的例子,在idl中,我们的有getArray,setArray接口,用它来说明如何使用javascript编写含有数组参数的xpcom
void getArray(out unsigned long count,[retval, array, size_is(count)] out string aArray);
voi ...
- 12:52
- 浏览 (48)
- 评论 (0)
- 分类: Firefox plugin/XPCOM
最近做Firefox的开发,一直在用javascript写XPCOM组件,javascript这个东东来写XPCOM非常痛苦,有一点错误都无法注册成功,许多时候基本靠肉眼一个单词一个单词的找,当然也有一些技巧。Firefox开发最常用的工具有firebug,javascript Debug和XPCOMViewer,使用XPCOMViewer来查看已注册的组件。
常见的错误:
一、死活注册不上:
注释掉其他方法和成员变量,只保留QueryInterface方法,这样基本都会注册成功了,一旦注册成功,取消掉注释,就可以使用javascript Debug来调试了。
二、查看XPCOM Vi ...
- 19:03
- 浏览 (2119)
- 评论 (0)
- 分类: Firefox plugin/XPCOM
在Eclipse插件开发中,我们经常"Monkey See Monkey Do",Eclipse3.4提供了和VC++ spy++一样强大的功能的:Plug-in Spy,现在你想模仿Eclipse已有的一个界面可以使用这个spy来探测它的实现类了,这样就省着我们每次都
先猜半天,然后在Search了。可以使用快捷键Shit+Option+F1 (Alt+Shift+F1 on Windows)来调用这个Spy。
- 12:52
- 浏览 (2037)
- 评论 (0)
- 分类: Eclise development
给nsWebProgress addProgressListener每次都失败,
[quote]Error: Component returned failure code: 0x80070057(NS_ERROR_ILLEGAL_VALUE) [nsIWebProgress.addProgressListener]
[/quote]在google 一下发现很多人都遇到这个问题,在addProgressListener函数里面,首先需要从ProgressListener get WeakReference,添加的listener实际是WeakReference,所以ProgressList ...
- 19:20
- 浏览 (1947)
- 评论 (0)
- 分类: Firefox plugin/XPCOM
最近做基于Eclipse的开发,写写对基于Eclipse的开发一些体会。以前一直在用Eclipse,感觉到插件机制的强大和灵活性,但一直没有接触到Eclipse的开发。现在写代码基本上模仿+现学现卖,Eclipse Plugin开发首先就应该学会模仿(我老大常说的一句Monkey see monkey do,《Contributing to Eclipse》的一条rule),因为Eclipse除了Run-time Kernal外都是插件(Everything is a co ...
- 20:17
- 浏览 (2096)
- 评论 (1)
- 分类: Eclise development
今天在eclipse源码中发现了这个东东:
写道
transactionLock.new Access() {/*empty block*/}.transfer(owner); [org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl 814行]transactionLock是Lock类的一个实例
第一眼看上去相当诡异,用了很多的语法特性(内部类在外部实例化的方法,内部类的使用,抽象类等),顺便跟了进去,发现作者的真正用意: 让我们先看看Lock的代码吧: 代 ...
面向对象方法课留了个作业,使用EJB实现一个简单的东东,从而更深刻的体会EJB组件。虽然J2EE学了不少,但正统的EJB一直没有怎么看。今天大体看了看EJB3.0,感觉EJB3.0在易用方面的确有很大的改进。曾经以极高的复杂性的EJB,现在和Spring、Hibernate这些轻量级的解决方案相比已经差不了哪去了,EJB在轻量化,所有的Bean都可以是POJO的,只需要使用注解表明是Entity bean,Stateless/Stateful Session bean,Message-driven bean,Remote/Local接口,不需要 ...
Egothor
Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。
更多Egothor信息
Nutch
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
更多Nutch信息
Lucene
Apache Lucene是一个基于Java全文搜索引擎,利用它 ...
- 00:09
- 浏览 (486)
- 评论 (0)
- 分类: Search Engine
前几天看了徐老师写的谈谈学习动态脚本语言对搞web mining研究的必要性,想起上次英语课话剧,使用ruby一行代码完成任务的事,深刻体会到动态语言的简洁强大之处,对处理文本的方便之处。开始剧本中是为了更好的理解剧情,中英文混在一起的,后来剧情比较熟了,为了看台词方便,希望把英语提取出来,我们这组幸好有我是计算机出身的,否则得花一晚上手工完成了。
格式类似如下:
引用
在一旁看的七濑美雪以被打败的表情说话:「都是因为阿一你擅自在滑雪练习场之外的地方下来,所以才会变成这样啊。」 That's all because you had to go beyond the training grou ...
- 浏览: 78401 次
- 性别:

- 来自: 长春

- 详细资料
搜索本博客
我的相册
spy
共 7 张
共 7 张
最近加入圈子
链接
最新评论
-
Berkely DB Java Edition ...
bu cuo
-- by zhaoshuli99 -
搜索引擎Nutch源代码研究 ...
万分感谢你,太有用了!!
-- by laomosan -
使用Struts2+Spring+Hiber ...
源码有些问题, 麻烦给songDaoImpl 到源码贴出来好吗。
-- by cloud21 -
如何彻底杜绝别人使用你的 ...
相当有学问
-- by flyinglife -
Open Session in View
底色弄成黑色很不好看的!
-- by zaiyibo






评论排行榜