Шаг 115 - Метод Cancel

Описание
Отменяет отложенный вызов асинхронного метода (только в рабочей области ODBCDirect).

объект.Cancel

Параметры
объект
Строковое выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Замечания
Метод Cancel используют для отмены выполнения асинхронного метода Execute, MoveLast, OpenConnection или OpenRecordset(т.е. при неявном вызове метода с помощью параметра dbRunAsync). Если параметр dbRunAsync не был использован при вызове отменяемого метода, то метод Cancel возвращает ошибку выполнения.
В следующей таблице показано, какие задачи отменяются при вызове метода Cancel для объектов разных типов:

Ошибка возникает также, если после вызова метода Cancel делается попытка сослаться на объект, который был бы создан при асинхронном вызове метода OpenConnection или OpenRecordset (т.е. на объект Connection или Recordset, из которого был вызван метод Cancel).

Пример
Следующая программа использует свойство StillExecuting и метод Cancel для асинхронного открытия объекта Connection.

Sub CancelConnectionX()

	Dim wrkMain As Workspace
	Dim conMain As Connection
	Dim sngTime As Single

	Set wrkMain = CreateWorkspace("ODBCWorkspace", 	"admin", "", dbUseODBC)
	' Открывает асинхронное подключение.
	Set conMain = wrkMain.OpenConnection("Publishers", dbDriverNoPrompt + dbRunAsync, False, _
		"ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")

	sngTime = Timer
	' Ожидает пять секунд.
	Do While Timer - sngTime < 5
	Loop
	
	' Если подключение не установлено, запрашивает пользователя,
	' следует ли продлить ожидание. Если нет команды на продление, 
	' отменяет подключение и осуществляет выход из процедуры.
	Do While conMain.StillExecuting

		If MsgBox("Подключение не установлено. Продлить ожидание?", 	vbYesNo) = vbNo Then
			conMain.Cancel
			MsgBox "Подключение отменено!"
			wrkMain.Close
			Exit Sub
		End If

	Loop
	With conMain

	' Использует объект Connection с именем conMain.
	.Close
	End With
	wrkMain.Close

End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 22.03.2002