'Закрыть': не является членом 'Windows::Phone::Media::Capture::PhotoCaptureDevice'

Я работаю с VS2012, Windows Phone 8 SDK. Мне нужно получить доступ к камере изначально.

Я успешно создал экземпляр PhotoCaptureDevice, вызвав PhotoCaptureDevice::OpenAsync, а затем получил открытое устройство - mCaptureObject - с помощью create_task() и task.then().

тем не мение,

mCaptureObject->Close()

выдает ошибку компиляции.

CameraStream.cpp(xxx): error C2039: 'Close' : is not a member of Windows::Phone::Media::Capture::PhotoCaptureDevice'

вот ссылка на msdn: PhotoCaptureDevice.Close ()

я проверил декларацию класса устройства фотозахвата:

 public : virtual unknown-type Close() new sealed = Platform::IDisposable::Dispose
 Member of Windows::Phone::Media::Capture::PhotoCaptureDevice
 Summary:
 Releases resources that are associated with the capture device.

Любая идея?

1 ответ

Решение

Звонить Close() на объекте вы должны вызвать деструктор этого объекта. Это произойдет естественным образом, когда у объекта больше нет ссылок, или вы можете вызвать delete mCaptureObject чтобы заставить деструктор бежать немедленно. (Если вы сделаете это, пока у объекта еще есть живые ссылки, эти другие ссылки будут недействительными, а вызовы методов должны выдать DisconnectedException.)

Другие вопросы по тегам