0

サード パーティ アプリケーション (スクリプトに VBA を使用) から読み込まれる COM DLL を作成しました。

起動時に、後でそのインスタンスを見つけるために、値がアプリケーションによって DLL に渡されます。

この (管理されていない) 値は、私が作成したアプリケーションに固有の型でstaticあり、グローバルです (どのクラスにも属しません)。

DLL がレジストリに正しく登録され ( regasm.

DLL は、システムのディレクトリ (つまり、System32 または SysWoW64) に配置されます。

Windows XP では、DLL は魔法のように機能しますが、Windows 7 (64 ビット) では、静的な値が null になるという問題があります。ただし、DLL の残りの部分は問題なく動作しますが、この値だけにバグがあります。

一方、システム以外のフォルダに DLL を配置しても問題ありません。

GC が値を破壊すると思うのですが、static と unmanaged があるので無理です。

それはGCの問題ですか?システムのフォルダが (管理者権限があっても) 機能しないのはなぜですか? Windows7 の特徴はありますか?

4

1 に答える 1