Название: Висячий указатель Отправлено: blood_shadow от Июль 27, 2010, 17:39 Обязательно ли указатель который ссылался на область памяти и был удален командой delete, нужно обнулять(в даном примере process = 0;) и какие для этого причины?, например:
Код: void val::runString_value() const Название: Re: Висячий указатель Отправлено: crossly от Июль 27, 2010, 17:52 нет.... но данный код не корректен...
Название: Re: Висячий указатель Отправлено: blood_shadow от Июль 27, 2010, 18:01 нет.... но данный код не корректен... почему не корректен? компилируется и исполняется без проблем. в описании к QPointer указано что он автоматически устанавливается в 0Название: Re: Висячий указатель Отправлено: crossly от Июль 27, 2010, 18:24 process удаляется не дожидаясь сигнала finished
Название: Re: Висячий указатель Отправлено: blood_shadow от Июль 27, 2010, 18:48 process удаляется не дожидаясь сигнала finished да согласен, уже исправил1. тогда еще вопрос по теме - выход с ф-ции по ретурну тоже происходит не дожидаясь сигнала finished? 2. как коректно удалить указатель на process? Спасибо Название: Re: Висячий указатель Отправлено: pastor от Июль 27, 2010, 19:04 Цитировать 2. как коректно удалить указатель на process? Законнектить сигнал finished на слот deleteLater Название: Re: Висячий указатель Отправлено: crossly от Июль 27, 2010, 19:06 практически вся работа в Qt происходит асинхронно
1. да 2. тут несколько вариантов.... сделать process членом класса... или использовать локальный EventLoop... Название: Re: Висячий указатель Отправлено: crossly от Июль 27, 2010, 19:07 Цитировать 2. как коректно удалить указатель на process? Законнектить сигнал finished на слот deleteLater Название: Re: Висячий указатель Отправлено: blood_shadow от Июль 27, 2010, 19:24 Цитировать 2. как коректно удалить указатель на process? Законнектить сигнал finished на слот deleteLater Название: Re: Висячий указатель Отправлено: blood_shadow от Июль 27, 2010, 19:26 практически вся работа в Qt происходит асинхронно Спасибо за ценную инфу :)1. да 2. тут несколько вариантов.... сделать process членом класса... или использовать локальный EventLoop... Название: Re: Висячий указатель Отправлено: blood_shadow от Август 28, 2010, 22:18 практически вся работа в Qt происходит асинхронно Где можно почитать про асинхронность Qt и как с нею бороться, например у меня есть написанный калькулятор у которого есть два сигнала (нажатие на клавишу-цифру и нажатие на клавишу-знак) они приконектины к разным слотам, так что если набрать "2" "+" плюс стрет предадущее значение, чтоб можно было ввести допустим "3", так дело в том что иногда получается не "2" "+" "3", а "23" я подозреваю что ф-ция не успевает завершится |