Archived Forum Post

Index of archived forum posts

Question:

Visual Basic 6.0 Event mailman_PercentDone not firing

Apr 11 '14 at 17:37

Hi.

I'm having an issue with the Mailman VB 6.0 ActiveX component. The control fires the ProgressInfo event, but not the PercentDone event. Does anyone know why this is? Below are the definitions of my event handlers. Am I doing something wrong? Please let me know.

Code snippet:

Private Sub mailman_PercentDone(ByVal pctDone As Long, abort As Long) ' << DOES NOT FIRE
    If (frmQMain.GlobalProgressBar.StopButtonClicked) Then
        abort = 1
    Else
        If (Not pctDone) Then
            ' If not done update status
            Call frmQMain.GlobalProgressBar.ProgressClass.IncrementProgressStage
        Else
            ' Otherwise reset the progress indicator
            frmQMain.GlobalProgressBar.ProgressClass.ResetProgressIndicator
            DoEvents
        End If
    End If
End Sub

Private Sub mailman_ProgressInfo(ByVal Name As String, ByVal value As String) ' << FIRES
    frmQMain.GlobalProgressBar.StatusPanel2Text = Name + " = " + value
    DoEvents
End Sub

Thanks,

David


Answer

If using the deprecated separate DLL implementation (where various Chilkat objects are contained in separate DLLs, such as "ChilkatMail2.dll"), then the percent-done event callback methods are named SendPercentDone and ReadPercentDone.

If using the combined-DLL implementation (which will be the only one available after v9.5.0), then the percent-done event callback method name conforms to the Chilkat standard name of "PercentDone".

I'm investigating the PercentDone event (within MailMan) to ensure that it's working..


Answer

This new build fixes the problem:

32-bit: http://www.chilkatsoft.com/download/ChilkatAx-9.5.0-win32.zip

64-bit: http://www.chilkatsoft.com/download/ChilkatAx-9.5.0-x64.zip

This is version 9.5.0.29 (as viewed by the "Version" property on a Chilkat object). The problem only affected the newly released single-DLL ActiveX. It had to do with the "abort" output-only argument of the event as being marked "[out, retval]" in the IDL, when it should've only been "[out]", causing a mismatch between the VB6 function and the IDL function. (The events were firing internally, but stopping just short of making it to the VB6 function.)