2008-07-31

用ruby写了一个生成xpcom组件模板的小工具

关键字: ruby, xpcom, xpcom template
写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" ...
2008-07-31

XPCOM数组作为参数注意的问题

关键字: xpcom, xpidl, array
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 ...
最近做Firefox的开发,一直在用javascript写XPCOM组件,javascript这个东东来写XPCOM非常痛苦,有一点错误都无法注册成功,许多时候基本靠肉眼一个单词一个单词的找,当然也有一些技巧。Firefox开发最常用的工具有firebug,javascript Debug和XPCOMViewer,使用XPCOMViewer来查看已注册的组件。 常见的错误: 一、死活注册不上: 注释掉其他方法和成员变量,只保留QueryInterface方法,这样基本都会注册成功了,一旦注册成功,取消掉注释,就可以使用javascript Debug来调试了。 二、查看XPCOM Vi ...
2008-07-14

解决nsIWebProgress addProgressListener失败的问题

关键字: nswebprogress addprogresslistener
给nsWebProgress addProgressListener每次都失败, [quote]Error: Component returned failure code: 0x80070057(NS_ERROR_ILLEGAL_VALUE) [nsIWebProgress.addProgressListener] [/quote]在google 一下发现很多人都遇到这个问题,在addProgressListener函数里面,首先需要从ProgressListener get WeakReference,添加的listener实际是WeakReference,所以ProgressList ...
fuliang
搜索本博客
我的相册
7633f7ab-e7a9-3fa7-ab0d-919030af4eda-thumb
cooliris
共 9 张
存档
最新评论