wodPop3 ActiveX Control - Fast notifications interface
 

 

Basic information

As you might have read so far, wodPop3Com can use fast notification interface instead of firing events. This means that each time wodPop3Com needs to fire an event, it will call your implementation of the event instead. Notifications can be 30 times faster than events - meaning it is advised to be used if speed is needed in your applications.

wodPop3 ActiveX DOES NOT support notifications - only wodPop3Com component does!

You must declare ALL notification methods if you want to implement IwodPopClientNotify, no matter if you need them or not. For example, many users don't need Progress event, but at least empty body for this event MUST exist when notifications are used.

You can read below steps required to implement your own IwodPopClientNotify interface. As an example, we will put it on the main form. You can also put it into separate VB class, in which case instead of 'Me' keyword, you will use name of the class.



Steps needed to implement IwodPopClientNotify

1. Add Reference to wodPop3Com COM Object to your application

2. Instead of declaring wodPop3 like this:

Dim WithEvents Pop3 as wodPop3Com

you should do this:

Dim Pop3 as wodPop3Com
Implements IwodPopClientNotify

3. In Form_Load, create new instance for Pop31, and pass reference of our IwodPopClientNotify to it

Set Pop3 = new wodPop3Com
Set Pop3.Notification = Me

4. Implement ALL methods, or at least declare their empty bodies. You can do it automatically if you locate 'IwodPopClientNotify' object in the list of all objects existing on your form (combo box in upper left corner of your code view), or just can do it by hand.

5. All done. Now put breakpoints to your methods. You will see that instead of fired event, your methods will be called instead.



Method declarations

Private Sub IwodPopClientNotify_Connected(ByVal Owner As WODPOP3COMLib.IwodPop3Com)

End Sub

Private Sub IwodPopClientNotify_Disconnected(ByVal Owner As WODPOP3COMLib.IwodPop3Com, ByVal ErrorCode As Long, ByVal ErrorText As String)

End Sub

Private Sub IwodPopClientNotify_Done(ByVal Owner As WODPOP3COMLib.IwodPop3Com, ByVal ErrorCode As Long, ByVal ErrorText As String, ByVal HeadersOnly As Boolean)

End Sub

Private Sub IwodPopClientNotify_Progress(ByVal Owner As WODPOP3COMLib.IwodPop3Com, ByVal Position As Long, ByVal Total As Long)

End Sub

Private Sub IwodPopClientNotify_Received(ByVal Owner As WODPOP3COMLib.IwodPop3Com, ByVal Message As WODPOP3COMLib.IPop3Msg, ByVal HeadersOnly As Boolean)

End Sub

Private Sub IwodPopClientNotify_StateChange(ByVal Owner As WODPOP3COMLib.IwodPop3Com, ByVal OldState As WODPOP3COMLib.StatesEnum)

End
Sub