Цитата:
|
Сообщение от Suriken
Именно, есть и имеет. Я про метод RBasicGSMPhone::SignalStrengthNotif ication.
А метод RBasicGSMPhone::GetSignalStrength, хоть и является асинхронным, но не ожидает обновления сигнала, а асинхронно возвращает его текущее значение, которое получено на момент вызова метода. Также есть синхронная реализация метода RBasicGSMPhone::GetSignalStrength.
|
Хорошо, предположим, что RBasicGSMPhone::SignalStrengthNotif ication асинхронный. Это говорит лишь о том, что момент возврата из него не определён. Правильным было бы прочитать спецификацию на этот метод, чтобы понять что он делает. Пока, итуитивно, мне его название говорит о том, что вызовом этого метода клиенты подписываются на получение уведомлений по поводу силы сигнала. То, что он асинхронный, ещё не обязывает вызывать его из активного объекта. Не могли бы Вы привести на этот метод документацию, это прояснит его суть. Но из задачи, которую Вы решаете, следует, что лучшим решением всё же было бы сделать клиента активным объектом.
Метод же RBasicGSMPhone::GetSignalStrength не должен ожидать обновления сигнала. С чего Вы это взяли? Он делает именно то, что должен, возвращает силу сигнала, правильную на какой то момент между вызовом этого метода и моментом возврата из него значения, если реализация не врёт. А то что он асинхронный, говорит лишь о том, что он похоже довольно ёмкий по времени.
Удачи.
|