Mozillaでプログラミング(XUL) その3at TECH
Mozillaでプログラミング(XUL) その3 - 暇つぶし2ch372:デフォルトの名無しさん
09/03/07 19:13:32
nsILocalFileのdirectoryEntriesのgetNext()で取得できる
ファイルエントリの順番って保障されてますか?

373:デフォルトの名無しさん
09/03/07 22:24:07
いいえ。

374:デフォルトの名無しさん
09/03/09 00:49:43
>>373 ありがとうございます

375:デフォルトの名無しさん
09/03/11 09:14:18
Firefox3のProfileManagerに
アドオンから改造を加えることって可能?

376:デフォルトの名無しさん
09/03/15 08:50:18
Windowsの自作アプリケーションから、「現在起動中の」Firefox3にクッキーをセットしたいのですが、
どうしたらできるでしょうか?

IAccessible->IServiceProvider->ISimpleDOMDocument->IDOMHTMLDocumentで余裕とか考えていたのですが、
XPCOMがCOMじゃないということに気が付くのに丸2日かけてしまいましたorz
IEばかり使ってきたのでよくわかかりません…

377:デフォルトの名無しさん
09/03/15 08:53:29
あっ、XULの話題のスレみたいなので他所行った方がいいのかな

378:デフォルトの名無しさん
09/03/15 18:26:38
正攻法だと無理かも。

379:デフォルトの名無しさん
09/03/15 18:43:36
IServiceProviderでnsSupportsは取れるみたいなんですが
nsSupports以外の何物でもありませんでした…ダメか…

380:デフォルトの名無しさん
09/03/16 12:18:34
>>379
nsSupports.QueryInterfaceしてキャストでいけない?

381:デフォルトの名無しさん
09/03/17 15:18:54
ひょっとしてFirefoxのsqliteはメモリ上にデータベース作成できない?

382:デフォルトの名無しさん
09/03/17 21:48:18
mozIStorageService.openSpecialDatabase("memory")

383:デフォルトの名無しさん
09/03/20 16:04:11
>>382
ありがとうございます。

openDatabase(null)
でもいけるみたいですね。

384:デフォルトの名無しさん
09/03/24 04:30:25
nsIFileでファイルのlastModifiedTimeは書き換えできますが
ディレクトリのlastModifiedTimeは書き換え不可なのでしょうか?
必ず例外NS_ERROR_FILE_ACCESS_DENIEDが発生します。

パーミッションは確認しましたし
そのディレクトリを使用中なわけでもありません。

具体的にやりたいのは
新規ディレクトリ、もしくは既存のディレクトリの
lastModifiedTimeを任意の値に変更する
ということです。

385:デフォルトの名無しさん
09/03/24 07:44:36
URLリンク(mxr.mozilla.org)
URLリンク(mxr.mozilla.org)
URLリンク(mxr.mozilla.org)
実装を見ればどこに原因があるか分かるかも?

386:384
09/03/24 10:22:49
>>385
とりあえずわかったことはWindows限定の問題だということです。
Ubuntu8.10とLeopard10.5.2では書き換え可能でした。

Win2000SP4/WinXPSP3/WinVista(SPなし)とWin7で同じく
ディレクトリのlastModifiedTime書き換え試行時に
NS_ERROR_FILE_ACCESS_DENIEDが発生します。

Firefox3.0.7で実行しています。


提示されたソースのほうはC++が書けないので
なんとなくしか理解できず原因を特定するのは難しそうです。

何か試してみた方がよさそうなことはありませんか?

387:デフォルトの名無しさん
09/03/24 22:33:16
>>385
ディレクトリの時刻を変更するには、CreateFile()でFILE_FLAG_BACKUP_SEMANTICSを
指定する必要があるが、それがないから無理だな。

388:384
09/03/25 00:44:38
>>387
つまりLinux版やMac版ではFILE_FLAG_BACKUP_SEMANTICSがあるけど
Windows版ではそれがないのでディレクトリ更新時刻は書き換え
できないということですか?

なぜWindows版だけそんな仕様に・・・?

389:デフォルトの名無しさん
09/03/25 01:34:30
>>388
そういうレベルの話ではない。
更新時刻の変更はOSによってやり方が全然違っていて、CreateFile()云々は
Windows固有のやり方。それに加えて、WindowsではUnixとは異なり、
ファイルと同じ方法ではディレクトリの更新時刻は変更できない。

390:384
09/03/25 01:45:04
>>389
なるほど。では結論として、

Windows上のXULアプリからはディレクトリの
lastModifiedTimeは変更できない

と考えて問題ありませんか?

妥協策としてnsIProcessでWindowsアプリをrunして変更する
といった方法で対応するしかないという理解でいいでしょうか?

391:デフォルトの名無しさん
09/03/25 10:40:54
興味本位で聞くけどそもそも何故ディレクトリの更新時間を変更したいの?
それって本当に必要なの?

392:デフォルトの名無しさん
09/03/25 12:47:18
>>391
2つのディレクトリ間の同期をとる処理を書いています。
それでディレクトリの更新日時まで同期したいわけですが


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch