![]() |
|
|
![]()
|
|
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Привет!
Вот шмат кода:
Непонтка: в таком варианте выдает ошибку на оба селла [C++ Error] Unit1.cpp(34): E2451 Undefined symbol 'cell_data' Если вынести объявления перед TForm - ошибки нет. Объявления в TForm - ошибки. В обработчике подписать Cells - все равно ошибка. Работает, только Это сообщение отредактировал(а) Gunslinger - 16.12.2008, 10:36 |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Определись с областью видимости твоих переменных.
-------------------- 0x2b|~0x2b |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Переменные, объявленные внутри функции (или методе), не видны в других функциях (или методах)
Это сообщение отредактировал(а) Artemon - 16.12.2008, 13:04 -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Таким образом, переменная "а" будет существовать во всей программе, а "b" - только в обработке события клика по кнопке "Button2". Это сообщение отредактировал(а) KTatsu - 16.12.2008, 13:25 |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Я просто пример привел, но ведь иногда они все равно могут потребоваться
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
KTatsu, могут. Но для этого - что бы было все кошерно - стоит использовать свое пространство имен, либо свой класс (структуру) где они хранятся
Это сообщение отредактировал(а) mrbrooks - 16.12.2008, 13:37 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Переменную можно использовать как член класса:
Это сообщение отредактировал(а) Alca - 16.12.2008, 13:39 |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| Gunslinger |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Вот все хедеры, которые были:
Про область видимости я в курсе, но в варианте без обработчиков, "академическом". Поэтому и не могу понять, куда писать. Когда пишу так, то ошибки нет:
Когда пишу так:
выдает ошибки: [C++ Error] Unit1.cpp(34): E2108 Improper use of typedef 'Cells', [C++ Error] Unit1.cpp(34): E2379 Statement missing ;, [C++ Error] Unit1.cpp(34): E2451 Undefined symbol 'cell_data'. Но ведь строка 2 объявлена в том же обработчике и при этом ошибок не возникает. ----------- Поставил:
Похоже с конструктором Cells намутил... Это пока оставлю, вопрос: какая разница, где объявлять: в TForm или до нее. Про объявление в обработчике - это, я полагаю, тоже самое, что и объявление в функции. з.ы. не обращайте внимание, что пост такой длинный. В следующий раз опубликую свою автобиографию в кратком изложении. Это сообщение отредактировал(а) Gunslinger - 16.12.2008, 17:12 |
||||||||
|
|||||||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Gunslinger, камрад я говорю подключить твой модуль с классом не к файлу реализации а к файлу описания - то бишь к *.h и тогда можешь смело описывать переменные в классе формы.
|
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
mrbrooks, Unit1.h?
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
писанул в юнит1.h:
безрезультатно. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |