tlibimp.exe (バージョン 11.0) を使用してサードパーティの .NET タイプ ライブラリ (COM サーバー DLL) をインポートしようとしています。これは基本的に問題なく動作しますが、Windows XP を実行しているコンピューターと Windows 7 を実行している別のコンピューターで実行すると、結果が異なります。さらに悪いことに、Win7 マシンで生成されたコードはコンパイルされません。
両方のマシンには次のものがあります。
- ボーランド C++ (RAD スタジオ) 2007
- tlibimp.exe バージョン 11.0
- 同じバージョンの .NET フレームワークがインストールされている (私の知る限り、Borland 2007 は .NET v2 を使用しています)
- bcc32.exe バージョン 5.93
コンパイラは OCX.h で次のように失敗します。
Parameter mismatch in write access specifier of property Font
XP マシンでの関連するコード行 (正常にコンパイルされる) は次のとおりです。
__property Graphics::TFont * Font={ read=GetTFontProp, write=_SetTFontProp, stored=false, index=-512 };
Win7 マシン (失敗) の同じ行は次のとおりです。
__property IFontDisp* Font={ read=get_Font, write=set_Font, stored=false };
この違いがどこから来るのか、今ではよくわかりません。何か案は?
乾杯ヘンドリック