2005-08-17 [長年日記]

[Q3] HPC Pro版が動かない (2)

どうもリソースのロックが外れてしまうのが原因のようです。FindResource、LoadResource、LockResourceでロックしているのですが、ここでロックしたデータを他のDLLにある関数でファイルに書き出そうとすると壊れてしまいます*1。同じDLL内から直接WriteFileで書き出すと問題ありません。他のDLLで必要になったページをマッピングする際に、リソースが使っていた領域が開放されてしまうのではないかと疑っていますが、本当のところは闇の中です。

仕方がないので、HPC Pro版ではロックしたデータを別のメモリにすぐにコピーするようにしました。その部分がうまく動けば後は普通に使えるようです。

*1  しかもCFの時だけ

[]