, , - , VB6 . , , VB6, ?
, ADO, . , .
, - :
Private WithEvents m_conn As ADODB.Connection
...
Set m_conn = New ADODB.Connection
Call m_conn.Open(connectionString, , , adAsyncConnect)
/ - , , , , , ):
sql = "SELECT Col1 FROM etc. etc."
Call m_conn.Execute(sql, , adAsyncExecute)
:
Call m_conn.cancel
:
Private Sub m_conn_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
... do more processing etc...
End Sub
, , ; , , , .
, , , VB6 , m_conn.Execute.
- VB6 - , , , , MarkJ "classic" DoEvents - , , , . , . , , , .
.
retrieve results
...
DoEvents
...
build temporary tables
...
DoEvents
, DoEvents, "", .
.. , , , . - :
Private m_cancel as Boolean
Private Sub cmdCancel_Click()
m_cancel = True
End Sub
Private Sub cmdProcess_Click()
...
retrieve results
...
DoEvents
If Not m_cancel Then
... build temporary tables etc...
End if
If m_cancel Then Unload Me
End Sub