Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[С++ Builder6] Область видимости переменных [проблема] |

10.05.2008, 11:30
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
[С++ Builder6] Область видимости переменных [проблема]
Вознила необходимасть создать форму, решил делать это под биджером, т.к. проще.
Столкнулся со следующей проблеммой.
Создаю файл var.h - в нем обявляю глобальные переменные.
Создаю 2е формы, и подключаю в них этот файл.
В первой форме инициализирую глобальную переменную из var.h во второй форме пытаюсь ее вывести. Дак вот значение переменной в первой и второй фоме не совпадают, как будто бы это вобще разные пеерменные
|
|
|

10.05.2008, 11:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Да нормально все должно быть, покажи код
|
|
|

10.05.2008, 12:02
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
http://taran.su/b.rar
|
|
|

10.05.2008, 12:31
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Скачал я исходник, подумал немного и даже не знаю что сказать =(.
ЗЫ На Msvc++, этот метод пашет отлично.
|
|
|

10.05.2008, 23:33
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
сказать можно одно - билдер хуяня, это не учитывая того сколько раз он зависает и глючит просто с нихуя
|
|
|

10.05.2008, 23:45
|
|
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме: 1845671
Репутация:
1338
|
|
nc.STRIEM Согласен. У Borland и MS разные взгляды на работу, к каждой среде нужно привыкнуть и понять её... Что не ожидаешь и должно работать на MS у Borland ведет себя по другому..
Попробуй переменную обьявить в .cpp первой формы.
|
|
|

10.05.2008, 23:48
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
А разве они не разные?
Вроде после выполнения работы с первой формой содержимое переменной "уничтожается" и поэтому вторая форма думает, что переменная пустая...
могу и ошибаться...не пинать
Попробуй переменную обьявить в .cpp первой формы.
или присвоить значение переменной в var.h
|
|
|

10.05.2008, 23:52
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Сообщение от criz
А разве они не разные?
Вроде после выполнения работы с первой формой содержимое переменной "уничтожается" и поэтому вторая форма думает, что переменная пустая...
могу и ошибаться...не пинать
или присвоить значение переменной в var.h
предположим что разные. тогда как сделать та чтоб не уничтожалось?
|
|
|

11.05.2008, 00:13
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Страуструп: "Нет гарантированного порядка инициализации глобальных переменных из различных единиц трансляции.". Это не касается переменных, инициализированных константными выражениями, значения которых известны еще на стадии компиляции, и использование которых безопасно. Страуструп: "Существует несколько методов задания порядка инициализации глобальных переменных из отдельных единиц трансляции. Однако ни одна из них не является ни переносимой, ни эффективной. ... Часто функция,возвращающая ссылку, является хорошей альтернативой глобальной переменной. Например:"
Код:
int& use_count() {
static int uc = 0;
return uc;
}
Надеюсь, хоть чем-нибудь помог.
|
|
|

11.05.2008, 00:23
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
А обязательно значение в cpp-файле присваивать? Нельзя в h-файл это перенести?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|