![]() |
|
|
![]()
|
|
| optik |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
подскажите плиз:
есть 2 формы (соответсвенно 2 cpp-шника) в Unit1.cpp объявляется структура:
как мне сделать её глобальной? т.е. чтоб можно было с ней работать и в Unit2.cpp ------------------- для простой переменной типа float с инициализацией при объявлении вопрос решён добавлением следующей конструкции в Unit1.cpp и Unit2.cpp:
------------------- если нет инициализации, то объявление в Unit1.cpp и unit2.cpp вида
прокатит? //структура и переменные объявляются вне всяких классов.. просто вверху файла.. |
||||||
|
|||||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 3 Всего: 17 |
запихнуть объявление структуры в h файл и инклудить в обоих cpp файлах
|
|||
|
||||
| optik |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
в Unit1.h добавил
в обоих cpp-шниках инклюдю Unit1.h ошибка следущая:
"a" используется и в Uni1.cpp и в Unit2.cpp... |
||||
|
|||||
| Nat |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
А если без extern? Просто
Не совсем понятно, зачем тут двойной указатель, конечно. И, да, описываете структуру в privat, а объявляете в public? Может не рационально, но я обычно делаю так:
И потом в Unit2:
|
||||||
|
|||||||
| 586 |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
в .cpp файл пишешь:
В .h файл пишешь
и инклудишь этот h-файл в этот и другие cpp. Всё. Это сообщение отредактировал(а) 586 - 12.3.2008, 14:56 |
||||||
|
|||||||
| optik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
586 ,
благодарю, так заработало! а почему в СРР надо было ещё elem** a; добавлять? |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
| VerLinG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
А вот у меня подобная проблема, не совсем понимаю, каким образом ее решить...
Мне нужно передать в две формы массив объектов, переменную и структуру, проблема в том, что во второй форме(которая вызывается из первой ) нужны значения этих элементов, заполненные из первой формы....Все переменные и объекты объявляю в Unit1.cpp, через extern не получается решить проблему... |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
| VerLinG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
[Linker Warning] Public symbol '_count' defined in both module K:\ÈÍÔÎÐÌÀÒÈÊÀ\ËÀÁÀ_2\UNIT1.OBJ and K:\ÈÍÔÎÐÌÀÒÈÊÀ\ËÀÁÀ_2\UNIT2.OBJ
Что то в этом роде...Там много таких предупреждений выдает |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Предупреждение, что ты переопределяешь переменную в другом модуле. У тебя в проекте несколько глобальных переменных с одним и тем же именем. Сделай вот так: unit1.cpp: int count /*= 0*/; unit1.h: extern int count; unit2.cpp: #include "unit1.h". unit3.cpp: #include "unit1.h" ..... Это сообщение отредактировал(а) 586 - 19.3.2008, 10:56 |
|||
|
||||
| VerLinG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
C переменной прокатило, но...
Когда я стараюсь таким же образом передать структуру и массив объектов, возникает ошибка в Unit1.h пишу
И выдается ошибка [C++ Error] Unit2.cpp(16): E2451 Undefined symbol 'object' |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Объяви структуру в unit1.h, перед extern'ами.
|
|||
|
||||
| VerLinG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
[C++ Error] Unit2.cpp(76): E2451 Undefined symbol 'object'
Все равно возникает вот эта ошибка ( по ходу массив объектов не передается...) |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
![]()
|
| Правила форума "С++ 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. |