― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2007年6月21日(木) 15:10 
オフライン
Moderator

登録日時: 2007年5月03日(木) 01:11
記事: 92
お住まい: 東京
新設されたフォーラムに初投稿ドキドキ。

先日からXUL/Migemoフォーク版のAPIを国際化を考慮したものに変更するという試みを行っているのですが、躓いています。

XUL/Migemo [Forked Edition] 0.6.xでAPIまわりがゴタゴタしてる件

このエントリに書いたような経緯で、以下のようなことができないものかと悩んでいます。

コード:
var xmJp = Cc['@piro.sakura.ne.jp/xmigemo/core;1?lang=ja']
                     .getService(Ci.pIXMigemo);
/*
 http://www.cozmixng.org/repos/piro/xulmigemo/tags/0.6.3/components/pXMigemoCore.js
 このpXMigemoCore.jsの中で
  var service = new pXMigemoCore();
  service.init('ja');
 した結果(service)がpIXMigemoのインターフェースでラッピングされて取得できる
*/

var xmEn = Cc['@piro.sakura.ne.jp/xmigemo/core;1?lang=en-US']
                     .getService(Ci.pIXMigemo);
/*
 pXMigemoCore.jsの中で
  var service = new pXMigemoCore();
  service.init('en-US');
 した結果(service)がpIXMigemoのインターフェースでラッピングされて取得できる
*/


わけのわからないままファクトリー(gModule)の定義をいじってみて、

コード:
return (new pXMigemoCore()).QueryInterface(aIID);


この箇所を

コード:
var instance = (new pXMigemoCore()).QueryInterface(aIID);
instance.init('ja');
return instance;


という風にしてみても、意図通りには動いてくれませんでした。

最終的に目指している所は、pXMigemoEngine*.jsといった感じの独自モジュールを開発したらそのファイルをポンとcomponentsフォルダの中に放り込むだけで

コード:
var xmMy = Cc['@piro.sakura.ne.jp/xmigemo/core;1?lang=my-lang']
                     .getService(Ci.pIXMigemo);


という使い方ができるようになればいいなあ、と思っているんですが。

こういう場合はやはり現状のようにファクトリーの自作サービスを用意してそれを使うしか無いのでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 1 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[15人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean