- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 20:00:38 ]
- オラ拡張作る。
XULはXMLベースのUI記述言語です。 Mozilla、Firefox、Thunderbird、Netscape等の Gecko系のソフトウェアために開発されました。 このスレはXUL、JavaScriptで利用できるXPCOM、 拡張の作り方などを主に話しあうスレです。 前スレ Mozillaでプログラミング(XUL) その2 pc8.2ch.net/test/read.cgi/tech/1102172958/ 姉妹スレ Geckoベースのブラウザを作ろう pc5.2ch.net/test/read.cgi/tech/1023546699/l50 参考サイト Mozilla Developer Center developer.mozilla.org/ XULPlanet www.xulplanet.com/ 過去スレ Mozillaでプログラミング(XUL) pc5.2ch.net/test/read.cgi/tech/1019704370/ >>2-50あたりに関連リンク、近況などがあるかも。
- 385 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 07:44:36 ]
- ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileWin.cpp#1894
ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileUnix.cpp#994 ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileOSX.mm#844 実装を見ればどこに原因があるか分かるかも?
- 386 名前:384 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 22:33:16 ]
- >>385
ディレクトリの時刻を変更するには、CreateFile()でFILE_FLAG_BACKUP_SEMANTICSを 指定する必要があるが、それがないから無理だな。
- 388 名前:384 mailto:sage [2009/03/25(水) 00:44:38 ]
- >>387
つまりLinux版やMac版ではFILE_FLAG_BACKUP_SEMANTICSがあるけど Windows版ではそれがないのでディレクトリ更新時刻は書き換え できないということですか? なぜWindows版だけそんな仕様に・・・?
- 389 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 01:34:30 ]
- >>388
そういうレベルの話ではない。 更新時刻の変更はOSによってやり方が全然違っていて、CreateFile()云々は Windows固有のやり方。それに加えて、WindowsではUnixとは異なり、 ファイルと同じ方法ではディレクトリの更新時刻は変更できない。
- 390 名前:384 mailto:sage [2009/03/25(水) 01:45:04 ]
- >>389
なるほど。では結論として、 Windows上のXULアプリからはディレクトリの lastModifiedTimeは変更できない と考えて問題ありませんか? 妥協策としてnsIProcessでWindowsアプリをrunして変更する といった方法で対応するしかないという理解でいいでしょうか?
- 391 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 10:40:54 ]
- 興味本位で聞くけどそもそも何故ディレクトリの更新時間を変更したいの?
それって本当に必要なの?
- 392 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 12:47:18 ]
- >>391
2つのディレクトリ間の同期をとる処理を書いています。 それでディレクトリの更新日時まで同期したいわけですが
|

|