Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аннулирование значений, MFC 
:(
    Опции темы
Voker57
  Дата 9.1.2004, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 18.2.2003
Где: Краснодар

Репутация: нет
Всего: 1



У меня ситуация такая. Я беру данные из EditBox так:
Код
void Plot::OnOkk()
{
UpdateData(true);
Invalidate();
CDialog::OnOK();
}

После этого они становятся равны тому, что в нем написано (проверял).
Выполняю с ними вычисления в другом месте вот так:
Код
Plot plot;
for (int iraq = 0; iraq < 1023; iraq++)
{
 pDC->SetPixel(iraq,iraq*plot.m_n + plot.m_z,RGB(0,0,0));
};

Но к этому моменту (тоже проверял) их значения уже равны 0 wow.gif !
Мистика!
Подскажите please кто знает куда деваются значения...



--------------------
Но кто из вас не прав, кто виноват во всей создавшейся никчёмной сложности
Судить об этом не имею никакой возможности.
При следующем свидании вы сами выйдете из тупика.
Ну, до свидания, пока. :-)
Д.И. Хармс
Самый радиоактивно загрязненный сайт 2004
PM MAIL WWW ICQ YIM   Вверх
mr.DUDA
Дата 9.1.2004, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Цитата
Plot plot;
for (int iraq = 0; iraq < 1023; iraq++)

Что бы это значило ?...
Если "Plot" - это имя класса окна диалога, то нужно вызвать plot.DoModal, и цикл поместить в один из методов (например, обработчик события) класса Plot. Если же нет - то что такое Plot и в чём тогда смысл Plot::OnOk ?


--------------------
user posted image
PM MAIL WWW   Вверх
Voker57
Дата 10.1.2004, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 18.2.2003
Где: Краснодар

Репутация: нет
Всего: 1



Постараюсь объяснить.
Plot-это имя класса окна диалога.
Цитата
 
Код

Plot plot;
for (int iraq = 0; iraq < 1023; iraq++)
{
pDC->SetPixel(iraq,iraq*plot.m_n + plot.m_z,RGB(0,0,0));
};

Этот код находится в обработчике события OnDraw, поэтому в нем нельзя вызывать DoModal. Его я вызываю из обработчика вызова пункта в меню.



--------------------
Но кто из вас не прав, кто виноват во всей создавшейся никчёмной сложности
Судить об этом не имею никакой возможности.
При следующем свидании вы сами выйдете из тупика.
Ну, до свидания, пока. :-)
Д.И. Хармс
Самый радиоактивно загрязненный сайт 2004
PM MAIL WWW ICQ YIM   Вверх
Nastya
Дата 12.1.2004, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Создай в том классе, где этимим данными пользуешься две дополнительные переменные, если
Диалог модальный
После doModal возьми из деалога значение переменных и помести в созданные дополнительные
если нет, то делай это по событию Change этитов.
Может это не очень рационально, но работать будет



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
CaptainFlint
Дата 12.1.2004, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Искатель сокровищ
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 26.2.2003
Где: Москва

Репутация: нет
Всего: 23



Voker57
Честно говоря, как-то сумбурно ты всё описал, но насколько я понял, ошибка в следующем: ты в обработчике OnDraw создаёшь новую переменную plot! Естественно, она будет нулевой. Тебе надо сохранить данные, полученные в первом участке кода, в глобальной переменной или члене класса, и использовать потом эти значения, где надо.


--------------------
Почему же, ё-моё, ты нигде не пишешь "ё"?
--------------------
Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.