Visual Basic を初めて使用するので、エラーが発生しました。私は、最終的に Sterling Trader (株式取引ソフトウェア) によって実行されるプログラムを作成しようとしています。ライブラリへの参照を含めるためのactiveX APIガイドの指示に従おうとしています。ガイドには次のように書かれています。
Sterling ActiveX ライブラリへの参照を作成します - メニューから [Project] ---> [References....] を選択します - [Available References] から [Sterling 1.0 Type Library] を選択します。- Sterling 1.0 タイプ ライブラリが見つからない場合は、[参照] を選択して Sterling.tlb ファイルを見つけます。
イベントを有効にする - コードの一般セクションに次の行を配置して、オブジェクトを宣言します。コードをコピー
Dim WithEvents m_STIEvents As STIEvents
- Form_Load プロシージャなどの初期化プロシージャに次の行を挿入します。コードをコピー
m_STIEvents = 新しい STIEvents を設定します。
- 次に、コード ウィンドウの [オブジェクト] ドロップダウン コントロール (左上のドロップダウン コントロール) で m_STIEvents を選択します。プロシージャ ドロップ ダウン コントロール (右上のドロップ ダウン コントロール) に使用可能なイベントが表示されます。キャッチしたいイベントを選択すると、コードに挿入されます。次のようになります。コードをコピー
Private Sub m_STIEvents_OnSTIOrderUpdateMsg(ByVal oSTIOrderUpdateMsg As ISTIOrderUpdateMsg)
- oSTIOrderUpdateMsg オブジェクトを使用して、メッセージから情報を収集します。
しかし、何らかの理由で Visual Basic 2010 でエラーが発生していました (ガイドが古くなっている必要があります)。基本的に、私は盲目的に Intellisense に従って、自分のコードを動作するように変更しました。これが私のコードです:
折りたたむ | コードをコピー
Public Class Form1
Dim WithEvents m_STIEvents As SterlingLib.STIEvents
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
m_STIEvents = New SterlingLib.STIEvents
End Sub
End Class
今のところ、ライブラリを正常にインクルードした基本的なプログラムを起動して実行しようとしています。ただし、これを実行すると、次のエラー メッセージが表示されます。
「CLSID {5E89F49B-6A12-420F-8570-E510EF1B580A} を持つコンポーネントの COM クラス ファクトリの取得は、次のエラーが原因で失敗しました: 80070002 指定されたファイルが見つかりません (HRESULT からの例外: 0x80070002)」
[続行] をクリックすると、プログラムが実行され、基本的なウィンドウが表示されます。これを行う方法についてオンラインで何も見つけることができません。助けてください!
ありがとう