C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Общедоступность переменных для нескольких форм
dayver2009
Отправлено: 01.11.2006, 20:21


Ученик-кочегар

Группа: Участник
Сообщений: 26



Люди помогите! Есть прога у нее допусти 2-5 формы (Form1,Form2,...), в
Unit1.h первой формы обявили переменную — допустим "int a" , ета же переменная используется на всех других формах(Unit-ах). Нужно чтоб все изменения етой переменной учитывались всех других формах.
То-есть если переменная изменилась на форме 3 — то на всех других формах 1,2,4,5 ети изменения такие же (в реальном времени)
Сначала я работал с "extern int а" — но ето одностороння связь(то-есть
если на 2-й форме прописали "extern int а" то изменения "а" на 2 форме
равносильно и для других форм. НО изменения на 1,3,4,5 формах не распространяются на 2 форму)

Думаю обяснил правильно.Помогите!!!!Искал в справке и другой литературе но ничего.
Подскажыте аналог extern ,если таковой есть.Или другой способ решения даной проблемы.
Александр
Отправлено: 01.11.2006, 21:26


Ученик-кочегар

Группа: Участник
Сообщений: 18




unit1.h например: объявляете в разделе public так: int c;
И теперь мы имем к ней доступ из любой формы.
...Form1->c;

То или нет?


dayver2009
Отправлено: 01.11.2006, 22:44


Ученик-кочегар

Группа: Участник
Сообщений: 26



Вроде работает. Большое спасибо.
Еще махенький вопрос — а ведь в Unit1.срр тоже нужно писать int c (без етого не компилит, а прописывать ..Form1->c; в Unit1.срр не логично ) — ето не нарушыт общедоступности к "с"?
Grigoriy
Отправлено: 02.11.2006, 00:09


Мастер участка

Группа: Участник
Сообщений: 381



Ну тогда так

CODE

//В одном из модулей "*.cpp"
int __export c;


CODE

//В других из модулях "*.cpp"
int __import c;

dayver2009
Отправлено: 02.11.2006, 00:37


Ученик-кочегар

Группа: Участник
Сообщений: 26



А такой способ Grigoriy подобен тому что я описал

__________________________________________________________
.................
Сначала я работал с "extern int а" — но ето одностороння связь(то-есть
если на 2-й форме прописали "extern int а" то изменения "а" на 2 форме
равносильно и для других форм. НО изменения на 1,3,4,5 формах не распространяются на 2 форму)..................
__________________________________________________________

Если конечно же я тебя правильно понял.

Но и на том спасибо что хоть кто-то пытается помочь начинающему програмисту

А на днях проверю совет Александра если не получется тогда снова
обращусь за помощью, потому что уже кроме форума ни где не найти.

Вернуться в Вопросы программирования в C++Builder