2

msado15.dll という dll をインポートしようとしています。ソリューションでこれをうまく行うことができます。

#import <C:\\Program Files\\Common Files\\System\\ado\\msado15.dll>  \
rename( "EOF", "AdoNSEOF" )

しかし、これで何も配布することはできません。

レジストリを調べてみたところ、そのlibidが見つかったので、試しています:

#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" rename( "EOF", "AdoNSEOF" )

しかし、私はこれらのエラーが発生します

1>Timestream.cpp(5): 警告 C4010: 単一行のコメントに行継続文字が含まれています 1>Timestream.cpp(6): 警告 C4278: 'RGB': タイプ ライブラリ '2DF8D04C-5BFA-101B-BDE5- の識別子00AA0044DE52' はすでにマクロです。'rename' 修飾子を使用してください 1>Timestream.cpp(6): 警告 C4278: 'RGB': タイプ ライブラリの識別子 '2DF8D04C-5BFA-101B-BDE5-00AA0044DE52' は既にマクロです。'rename' 修飾子を使用してください 1>Timestream.cpp(6): 警告 C4278: 'RGB': タイプ ライブラリの識別子 '2DF8D04C-5BFA-101B-BDE5-00AA0044DE52' は既にマクロです。'rename' 修飾子を使用してください 1>Timestream.cpp(6): 警告 C4278: 'RGB': タイプ ライブラリの識別子 '2DF8D04C-5BFA-101B-BDE5-00AA0044DE52' は既にマクロです。「rename」修飾子 1>Timestream を使用します。cpp(6): 警告 C4278: 'RGB': タイプ ライブラリの識別子 '2DF8D04C-5BFA-101B-BDE5-00AA0044DE52' は既にマクロです。'rename' 修飾子を使用してください 1>Timestream.cpp(6): 警告 C4278: 'RGB': タイプ ライブラリの識別子 '2DF8D04C-5BFA-101B-BDE5-00AA0044DE52' は既にマクロです。「rename」修飾子を使用する

どうすればこれを機能させることができますか?これが最善の方法ですか? msado15.dll に関する他の質問を調べましたが、別の問題があるようです。

ありがとう、ジェームズ

4

1 に答える 1

3
#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" rename( "EOF", "AdoNSEOF" )

これはタイプ ライブラリですが、間違っています。これは、発生するすべてのエラーを説明しています。regedit.exe を起動HKCR\TypeLibし、要求した libid に移動してスクロールします。2.0\0\win32 キーが MSO.DLL をどのように指しているかに注意してください。それが Office タイプ ライブラリです。

適切な GUID を見つけるには、Visual Studio コマンド プロンプトから OleView.exe を実行します。ファイル + Typelib を表示し、msado15.dll に移動します。一番上に必要な GUID が表示され、ライブラリ セクションの uuid() 属性が表示されます。

uuid(B691E011-1797-432E-907A-4D8C69339129)

したがって:

#import "libid:B691E011-1797-432E-907A-4D8C69339129" rename( "EOF", "AdoNSEOF" )

これは非常に古いものであることに注意してください。msado28.tlb を使用する必要があります。

于 2012-07-13T13:25:37.600 に答える