2009-07-19 16 views
2

イベントとデリゲートを試してみました。私は特定のイベントが発生したときにイベントを返す外部APIに接続しようとしています。元のコードはC#で書かれており、私はVB.NETでこれをやろうとしています。VB.NET APIデリゲートとイベント

APIプログラマからの短いコメントです。その後

」、クライアントアプリケーションは、イベントの1を待つ必要がある必要があります。OnLoginCompleteまたはsuccesfullのログインの原因でOnLoginFailedは、すべてのコレクションは、すでにセッションデータ(オーダー状態と埋め、アカウントの位置)、そのアプリケーションに取り込まれGUIに表示することができます何らかの理由で接続が切断された場合、OnDisconnectedイベントが直ちに発生し、接続が復元されるまで要求を処理できなかったことをクライアントに通知します
成功したログオンシステムがクライアント要求:価格フィードと注文リクエストへの購読 "

私はしようとしていますo OnLoginFailedイベントを発生させますが、これを行う方法が不明なあまりにも多くの問題を抱えています。

ここでは、APIドキュメントの短い説明です。接続が設立しませんでした場合に発生し

OECClient.OnLoginFailedイベント
、資格情報が間違っているか、クライアントのAPIバージョンが無効です。

public event OnLoginFailedEvent OnLoginFailed; 

OnLoginFailedEvent委任
はVB.netで私のコードはここに接続が

public delegate void OnLoginFailedEvent(
    FailReason Reason 
); 

を確立することに失敗した際に発生して、私は近くにいますが、ただできることを感じますそれを手に入れません。

Imports OEC.API 
Imports OEC.CommLib 

Public Class OpenECry 
    Public Shared OECClient1 As New OECClient() 

    Public Event OnLoginFailed() 
    Public Delegate Sub OEC_OnLoginFailedEvent(ByVal FailReason As OEC.Data.FailReason) 



    Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click 
     If txbUsername.Text = Nothing Or txbPassword.Text = Nothing Or txbServer.Text = Nothing Then 
      'Connect to the server, if the details are wrong then show the error message in the label. 
      MsgBox("One of your required fields are empty, Please try again.", MsgBoxStyle.Critical, "Application Error") 
     Else 
      'Catch Exception 
      ' 
      Try 
       OECClient1.Disconnect() 
       OECClient1.Connect(txbServer.Text, txbPort.Text, txbUsername.Text, txbPassword.Text, False) 


      Catch ex As Exception 
       MessageBox.Show(ex.Message) 
      End Try 
     End If 
    End Sub 

End Class 

これ以上の経験を持つ人が私を助けてくれたら本当にありがたいです。私が必要とするのは一つの例なので、他のすべての出来事を自分で行うことができます。

答えて

0

あなたのメソッドを公開するようにしてください。デリゲートなどは必要ありません。その他、Handlesパラメータを持たないC#の人たちです。

1

あなたのようなことができるはずです。

Public Sub OnLoginFailure() Handles OECClient1.OnLoginFailedEvent 
    'Do something upon failure here... 
End Sub 
+0

OECCLient1はWithEvents – Wilhelm

関連する問題