FIX Windows のサイド バイ サイド実行用の Visual Basic 6.0 の ActiveX コントロールはサポートされていません

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:828629
現象
Microsoft Windows XP およびそれ以降のバージョンでは、Microsoft コンポーネント オブジェクト モデル (COM) DLL モジュール内で side-by-side (SxS) モードを実行できます。SxS を使用して、COM DLL の異なるバージョンを同じコンピューター環境に競合なく共存させます 。この現象は、プログラムを特定の COM DLL にバインドする場合に指定するマニフェスト ファイルを使用して発生します。Microsoft Visual Basic 6.0 の ActiveX コントロールは COM DLL のモジュールは本質的に .ocx ファイル名拡張子を持つです。Windows XP で SxS 操作をこれらのモジュールを構成するときに、次のエラー メッセージが表示されます。

実行時エラー '336' コンポーネントが正しくない登録。
原因
この問題は Windows および Visual Basic の両方のランタイム構成の SxS の実行を Visual Basic 6.0 ActiveX コントロールをサポートしていないために発生します。
解決方法
完全にこの問題を解決するのには、次の両方が必要です。
  • Visual Basic 6 Service Pack 6 (SP6) が含まれている Visual Basic のランタイムのバージョン
  • Windows XP Service Pack 2 (SP2)
最新の Visual Basic のランタイム バージョンを取得する方法の詳細については、マイクロソフト サポート技術資料を参照する次の資料番号をクリックします。
290887VBRun60sp6.exe を Visual Basic 6.0 SP6 ランタイム ファイルがインストールされます。
Windows XP SP2 を入手するには、次のマイクロソフト サポート技術情報の Web サイトを参照してください。Windows XP SP2 をインストールできない場合は、修正プログラムとして Windows XP の修正プログラムを入手できます。 詳細については、以下の資料番号をクリックしてマイクロソフト サポート技術資料を参照してください。
843524修正: サイド バイ サイド COM DLL モジュール マニフェストを Visual Basic 6.0 ActiveX コントロールをレジストリに Windows XP によってオーバーライドされます。
詳細
この修正プログラムを有効にするには、マニフェスト ファイルにフィールドを追加する必要があります。マニフェスト ファイルの例を次に示します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">	<assemblyIdentity type="win32" name="control.ocx" version="1.0.0.0" processorArchitecture="x86"/>	<file name="control.ocx">		<comClass description="Sub control" clsid="{76548630-0CC8-48E4-B471-A9001865AE65}" 			miscStatus="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst"			progid="Control.TextBox" threadingModel="Apartment"			tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}"/>		<typelib tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}" version="1.0" helpdir=""/>	</file></assembly>
MiscStatus属性が追加されていることに注意してください。これで 5 つの新しい属性は、アセンブリ要素または使用可能なさまざまな DVASPECT 値を表すcomClass要素で使用可能なです。
属性
miscStatusOleRegGetMiscStatus API に dwAspect 引数に 0 を渡すと、取得する既定のステータス フラグ
miscStatusIconDVASPECT_ICON マップ
miscStatusThumbnailDVASPECT_THUMBNAIL マップ
miscStatusDocPrintDVASPECT_CONTENT マップ
miscStatusContentDVASPECT_CONTENT マップ
各側面には、次のフラグのセットをコンマで区切って指定できます。空白文字は使用しないでください (「」) が小文字フラグがあります。これらの要素から入りますフラグが表示されます。
RecomposeonresizeOnlyiconicInsertnotreplace
静的CantlinkinsideCanlinkbyole1
Islinkobject再現Activatewhenvisible
RenderingisdeviceindependentInvisibleatruntimeAlwaysrun
ActslikebuttonActslikelabelNouiactivate
整列SimpleframeSetclientsitefirst
ImemodeIgnoreactivatewhenvisibleWantstomenumerge
Supportsmultilevelundo
Tlbid属性アセンブリ要素またはcomClass要素でどのようなタイプ ライブラリを示す、COM クラスを使ってもする必要があることの通知は、正しく解決するのには、ランタイムはから取得されます。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

警告: この記事は自動翻訳されています

プロパティ

文書番号:828629 - 最終更新日: 12/16/2012 06:17:00 - リビジョン: 5.0

  • kbhotfixserver kbqfe kbwinxppresp2fix kbfix kbbug kbmt KB828629 KbMtja
フィードバック