私はC++ Builderの大きなプロジェクトを持っています。このプロジェクトは、のインポートタイプライブラリを使用したようです。あなたはこのファイルは非常に長い時間前にgenereatedた:)見ることができるようにそれではこのインポートされたタイプライブラリが機能しなくなった
// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //
// C++ TLBWRTR : $Revision: 1.134.1.41 $
// File generated on 2003-10-27 12:57:05 from Type Library described below.
// ************************************************************************ //
// Type Lib: C:\WINNT\system32\MQOA.DLL (1)
// IID\LCID: {D7D6E071-DCCD-11D0-AA4B-0060970DEBAE}\0
// Helpfile:
// DepndLst:
// (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
// (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
// ************************************************************************ //
#ifndef __MSMQ_OCX_h__
#define __MSMQ_OCX_h__
#pragma option push -b -w-inl
#include <utilcls.h>
#if !defined(__UTILCLS_H_VERSION) || (__UTILCLS_H_VERSION < 0x0500)
//
// The code generated by the TLIBIMP utility or the Import|TypeLibrary
// and Import|ActiveX feature of C++Builder rely on specific versions of
// the header file UTILCLS.H found in the INCLUDE\VCL directory. If an
// older version of the file is detected, you probably need an update/patch.
//
#error "This file requires a newer version of the header UTILCLS.H" \
"You need to apply an update/patch to your copy of C++Builder"
#endif
#include <olectl.h>
#include <ocidl.h>
#if !defined(_NO_VCL)
#include <stdvcl.hpp>
#endif // _NO_VCL
#include <ocxproxy.h>
...
のようなヘッダを持つファイルです。私はこのプロジェクトをC++ Builder 2010の上にのWindows 7の64ビットのでビルドすることができました。しかし、XE2をインストールして、STRICT NO_STRICTの代わりに既定値STRICTの代わりに小さな問題を修正しようとすると、全く別の問題が発生します。上記のファイル、同じ方法で生成されたその他のファイルは、もはや意図したとおりに動作しません。
は、私のようなエラーが出
[BCC32エラー] MSMQ_OCX.h(66):E2090修飾子 'Oleserverは' MQOA探し クラスまたは名前空間名
ではありません。 DLLそれはソートの何も使用していないと主張する存在するようです。プロジェクトをXE2にアップデートするときに、このような問題を回避する方法については、誰でも指摘していますか?このプロジェクトは以前からアップグレードされていましたが、C++ Builder 2010にアップグレードされました。しかし、私はVisual Studioの人ですから、多くのEmbarcaderoのものは新しい領域です。
以前の.hファイルを再利用する代わりに、TypeLibraryをXE2に再インポートしようとしましたか? –
どうすればいいですか?この場合、** C:\ WINNT \ system32 \ MQOA.DLL **のように、私が使用したファイルを調べると思っていました。しかし、このファイルはWindows 7には存在しません。 – inquam
ファイルがインストールされていない場合、プロジェクトが正常にコンパイルされた場合でも、実行時にTypeLibrary/Objectを使用するアプリはどのようになると思いますか? –