Steam-x |
Отправлено: 12.03.2007, 14:54 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 60
|
Я столкнулся с такой проблемой. Есть родительское окно Форма1, в нем динамически создаются окна Форма2 (чаилд). Окна примитив — одна кнопка, при нажатии меняется ее заголовок на i++. Так вот. Создаю новое окно жму кнопку и i продолжает увеличиваться с предыдущей Формы2. В чем проблема понять не могу, так как i переменная Формы2 и по идее должна быть уникальной для каждой создаваемой формы.
Может мое объяснение выглядит запутанно. Вот суть. Как сделать независимыми переменные в создаваемых динамически дочерних окнах. Мне нужно чтобы два дочерних окна не знали о существовании друг друга.
|
|
Doga |
Отправлено: 12.03.2007, 15:11 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Если эта переменная является членом класса дочерней формы, то такое её поведение без дополнительного кода (напр. переменная-свойство со своими обработчиками доступа) невозможно.
Похоже, у Вас эта переменная является глобальной...
|
|
Steam-x |
Отправлено: 13.03.2007, 09:22 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 60
|
QUOTE (Doga @ 12.03.2007, 15:11) | Похоже, у Вас эта переменная является глобальной... |
Нет эта переменная не глобальная, если это касается всего приложения, включая родительское окно. Эта переменная глобальная для дочернего окна.
|
|
Admin |
Отправлено: 13.03.2007, 10:09 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Где объявлена переменная i ? В .сpp сверху ?
Надо её засунуть в секцию private дочернего окна.
|
|
Steam-x |
Отправлено: 13.03.2007, 13:49 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 60
|
Засунул в Приват все помогло. А чисто теоретический вопрос — почему нужно так. Ведь при создании дочернего окна создается уникальный указатель на форму и по логике все переменные должны быть уникальными для этой формы. Заранее спасибо за помощь
|
|
Rius |
Отправлено: 13.03.2007, 14:19 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
переменные и уникальны, когда входят в состав класса формы.
если просто вверху cpp файла — они глобальны и менятся могут так, как программист и не ожидает.
|
|
Steam-x |
Отправлено: 14.03.2007, 11:03 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 60
|
Как много чудных нам открытий готовит просветленья дух...
|
|
Guest |
Отправлено: 16.03.2007, 19:42 |
|
Не зарегистрирован
|
[Как много чудных нам открытий готовит просветленья дух...] |
|