喫茶XRAYトップページ

[スレッド全体
]

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

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

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


[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