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 |
|
Не зарегистрирован

|
[Как много чудных нам открытий готовит просветленья дух...] |
 |