喫茶XRAYトップページ

[▲前のスレッド]

[5531] ファイルプロパティの操作方法について質問いいですか?返信 削除
2011/11/25 (金) 20:30:52 コマツ
ファイルプロパティの操作方法について探していてこのページに
たどり着きました。
Delphiサンプルプログラム集の「816_ファイルのプロパティ」に
ついて質問させて下さい。

CAD図面ファイルを扱うソフトを開発していますが、図面の情報を
他のアプリから参照しやすくするため、一時的にファイルのプロパティ
に保存したいと思っています。
そこで、構造化ストレージのサブストレージを利用できないかと考え、
「05_構造化ストレージの操作」のサンプルプログラムを使って
図面ファイルにプロパティを保存して見ましたが、正常に保存できた
のは「会社名」と「最終印刷日」のプロパティだけで他は空白に
なってしまいました。
原因を調べようとDelphi7のデバッグ環境で実行してみたところ、
不思議なことに全て正常に保存できました。
色々試してわかったことは、1つのプロパティに値を書きこむと
プロパティセットが同一の他のプロパティは全てクリアされてしまう
ということです。
「会社名」が保存できたのはこれだけ他とは違うプロパティセット
(FMTID_DocSummaryInfo)だったから。
「最終印刷日」が保存できたのはこれがプロパティセット
FMTID_SummaryInfoで最後に書き込んだプロパティだったから。
(「最終印刷日」の書きこみ部分をコメントアウトすると
「最終更新日」のプロパティが保存されます)

Delphi7のデバッグ環境下では正常動作するので、環境さえ整えば
うまくいく気がします。何かわかることがありましたら教えて下さい。
Windows7, WindowsXPで動作確認しました。ワードなどの
複合ドキュメントなら正常に動作することを確認しています。


[5532] Re:ファイルプロパティの操作方法について質問いいですか?返信 削除
2011/11/26 (土) 10:04:17 Mr.XRAY
▼ コマツさん,こんにちは.

広いネットの中らか,ここにようこそ.
航海は大変だったでしょう.

>質問いいですか?

って,もう質問しています (^^;

デバック環境では動作して,EXE実行では値が保存されいない.
一番やっかいな状況ですね.

> Windows7, WindowsXPで動作確認しました。ワードなどの
> 複合ドキュメントなら正常に動作することを確認しています。


このあたりがヒントになりそうですが,う〜ん.
ユーザ権限の問題かな? でも保存できる項目もあるのだから...
ちょと調べてみますね.


[5536] Re2:ファイルプロパティの操作方法について質問いいですか?返信 削除
2011/11/26 (土) 22:04:54 コマツ
図々しくてすいません。m(__)m

「Windows7, WindowsXPで動作確認しました。」と書きましたが、
これはいい加減な情報でした。

改めて確認してみたら、WindowsXPでは全く保存されていないことに気づき、
よくよく調べてみたら私のWindowsXPはFAT32でフォーマットされていました。
サブストレージはNTFSでしかサポートされないということでしたから
うまく行かなくて当然ですよね。
ですのでWindowsXPでの動作確認は信頼性ゼロだと思って下さい。

お手間かけますが、よろしくおねがいします。

[5538] Re3:ファイルプロパティの操作方法について質問いいですか?返信 削除
2011/11/27 (日) 00:52:48 Mr.XRAY
▼ コマツさん

> サブストレージはNTFSでしかサポートされないということでしたから

です.
ところで,まだテスト開始していませんが,
この構造化ストレージですが,マイクロソフトも当初は,いろいろネット上で
書いていましたが,ワードもエクセルも,XMLに,いや,ZIP形式にしてきて
いるようです(中身はXML).

[Word2007-docx形式文書の構造]
http://mrxray.on.coocan.jp/Delphi/plWordEx/T_Word2007File.htm

記事はあくまで,こういう手法もあるということで,いろいろなテストの
結果を掲載していますが,判断するのは読者ということになっています.
では,何がいいか? と言われると困ってしまうのですが.

テストして,結果をまた記事に追加,あるいは修正したいと思います.
せっかく記事にしているのですから,コマツさんのように訪ねてくださる
方の話は貴重です.
一人では十分なテストができません.利用者の情報が頼りです.

では,お休みなさい.


[5643] Re:ファイルプロパティの操作方法について質問いいですか?返信 削除
2012/1/9 (月) 23:35:58 Mr.XRAY
この問題は,

[816_ファイルのプロパティ]の[05_構造化ストレージの操作]
で,図のようにファイルのプロパティを読み出したり,書き込むもの
です.
http://mrxray.on.coocan.jp/Delphi/plSamples/816_FilePropety.htm#05

その後いいろいろやってみたのですか,
今のところ,コマツさんの言われる現象を確認できていません.

Windows 7 U64上のDelphi 7でコンパイルしたEXEを実行
標準(一般?)ユーザでログオンしてそのEXEを実行
共にOKです.

デバック環境では読み書きできるというのが不思議です.
もしかしたら,ファイルの種類にもよるのかも知れません.
あるいはファイルのアクセス権なのか? う〜む.参りました.

以上,現状報告です.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82