2009-03-06 12 views
4

VB6のランタイムエラー372のための既知の原因は何を時代遅れにすることができる - 時代遅れかもしれのバージョンを制御読み込みに失敗しました。エラー372の原因は何が - <control.ocx>のバージョンを制御読み込みに失敗しました

私はいくつかの標準的なWindowsのコントロールから構築されたactivceX制御と遠点を持っています。 コントロールはVB6デスクトップアプリケーションで使用されます。私が見ている動作は、このアクティブなコントロールがいくつかのワークステーションで時々失敗することです。正しい参照がワークステーションにあることを確認しました。奇妙な部分は、コントロールがすぐに失敗しないことです。メインフォームでは正常に動作しますが、別のフォームを開くと失敗します。

ランタイム7のメモリ不足エラーと結びついているようです。これらのエラーが通常発生すると、異常なCPUやメモリの使用量がタスクマネージャに表示されることはありません。

この問題はMSCOMCT2.OCXに関連しているようです。

アイデア

答えて

3

まずメモ帳で、フォームファイル(FRMの拡張子を持つファイル)を開くには、フォームが本当に同じActiveXコントロールを参照しているを確認します。参照はフォームの上部にあります。まれに、VB6ではさまざまな形式間の参照が一致しません。

第二には、Micrsoftからthisを見てください。すべてのユーザーに対してコントロールがインストールされていることを確認し、問題が解決するかどうかを確認します。このような

問題は通常予想されるCOMインターフェイスとロードされるコントロールの間の不整合によって引き起こされます。

+0

私はappを実行しているユーザーが、そのアプリケーションをインストールしたユーザーアカウントとは異なるユーザーアカウントでログオンする可能性を排除しました。私は私が見ているものを説明するかもしれないフォーム上のコントロールへの参照を考えなかった。失敗をこのケースで散発的に発する。 –

+0

はいfrmの参照がvbpファイルと一致しないインスタンスが発生しました。 –

1

同じ問題があり、InstallShieldを使用してインストールパッケージを作成したときに、INstallShieldがVisual Basicプロジェクトの依存関係をスキャンするようにダイアログボックスの[フィルタファイル]ボックスのチェックを外す必要があることがわかりました。 VBプロジェクトのMSDatgrd.ocxコントロールをセットアップにパッケージ化していなかったため、そのコントロールはWin 7マシンにはないため、この372メッセージがスローされました。私は私のソフトウェアのための私のインストールパッケージを再構築し、それがファイルをフィルタしていなかった

は、そのコントロールを含め、セットアッププロセスの一環として、ターゲットマシンにインストールし、すべてがうまく走りました。

関連する問題