2007'11.13.Tue
PHOTO-PAINTがRIFファイルのあるディレクトリのタイムスタンプを更新していまう件ですが、対策を断念しました。
所詮プラグインなので、ホストプログラムがスレッドを使った時に同時に同じディレクトリのファイルを開くときにどうしても後から開いた方が先に開いたスレッドより遅く終わった時に結局、先にファイルを開いたときのタイムスタンプを拾ってしまいそれを最後に書き出してしまいます。
α5で失敗してたし、直そうかとも思いましたが、同時に複数のホストプログラムが起動した場合など考えると別のプロセスのスレッドとの競合も考えねばならないので一つのプラグインで対応するには重すぎるし本筋から外れた処理なのでこれ以上の対策は不毛と判断。
素直にPHOTO-PAINTがタイムスタンプを更新してしまわない方法もしくは、PaintShop Proで置き換える等根本的な対策をしたほうがよいかと、ということでまずはCorelにPHOTO-PAINTでタイムスタンプを更新しない方法を問い合わせてみました。
まだ、返事は来ていません。
所詮プラグインなので、ホストプログラムがスレッドを使った時に同時に同じディレクトリのファイルを開くときにどうしても後から開いた方が先に開いたスレッドより遅く終わった時に結局、先にファイルを開いたときのタイムスタンプを拾ってしまいそれを最後に書き出してしまいます。
α5で失敗してたし、直そうかとも思いましたが、同時に複数のホストプログラムが起動した場合など考えると別のプロセスのスレッドとの競合も考えねばならないので一つのプラグインで対応するには重すぎるし本筋から外れた処理なのでこれ以上の対策は不毛と判断。
素直にPHOTO-PAINTがタイムスタンプを更新してしまわない方法もしくは、PaintShop Proで置き換える等根本的な対策をしたほうがよいかと、ということでまずはCorelにPHOTO-PAINTでタイムスタンプを更新しない方法を問い合わせてみました。
まだ、返事は来ていません。
PR
2007'11.10.Sat
PHOTO-PAINTがRIFを開くときにそのRIFのディレクトリのタイムスタンプを更新してしまうもよう。前に出たエラーと共に考えると開くときにこっそりバックアップファイルを作成しているっぽい。
ということで、RIFファイルを開く前のディレクトリの更新時間を取得してBMPが出来たら取得した時間を再設定するようにしてみました。
ということで、RIFファイルを開く前のディレクトリの更新時間を取得してBMPが出来たら取得した時間を再設定するようにしてみました。
2007'11.10.Sat
Win32APIをふんだんに使うようになってきて、エラー処理とか面倒になってきたので、C++にソースを変更して、ラッパークラスを書いて、取得失敗時に(C++の)例外を出すようにしました。
メモリリーク、リソースリーク対策にも。
一時ファイルの管理も面倒だったのがすっきりしました。
メモリリーク、リソースリーク対策にも。
一時ファイルの管理も面倒だったのがすっきりしました。
2007'11.09.Fri
PainterXの埋め込みサムネイルに対応。GetPreview()を使ってると嘘の様に速くカタログが作られます。
ただし、うちにあるファイルでしか試してないので人に依っては取り出せない場合もあるかも。
尚、Susieプラグインを呼んでる側がGetPrivare()を使ってないと意味がないです。
ただし、うちにあるファイルでしか試してないので人に依っては取り出せない場合もあるかも。
尚、Susieプラグインを呼んでる側がGetPrivare()を使ってないと意味がないです。
リンク
カテゴリー
最新記事
(08/26)
(11/17)
(11/13)
(11/13)
(11/12)
最新TB
ブログ内検索
最古記事
(11/08)
(11/09)
(11/09)
(11/09)
(11/09)