PDA

View Full Version : How a Custom Action kwnows that the build is stopped or cancelled?


lecm
10-01-2004, 02:21 PM
As the title says, how a custom action (made with vb6 for instance) can be notified that the build process was cancelled?

kevina
10-01-2004, 03:11 PM
The information is available, but not as a COM event. You need to use WaitForSingleObject to check it's status.

The event is exposed via the CancelEvent propertly of the Builder object:
<snip from the help file>
Returns a handle to the Win32 event that will be set if the build is aborted. Read-only.

Syntax

builder.CancelEvent As Long
</snip>

The VB6 code to perform this check is:

' in declares section
Private Declare Function WaitForSingleObject Lib "kernel32" Alias "WaitForSingleObject" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

' in action's ICustomAction_BuildStep method
' should be called regularly during long a running action
' to check for cancellation of the build
If WaitForSingleObject(Builder.CancelEvent, 0) = 0 Then
ICustomAction_BuildStep = vbldStepStatAborted
Exit Function
End If