powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Снова о глобальных переменных
25 сообщений из 41, страница 1 из 2
Снова о глобальных переменных
    #34848423
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть модуль
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// GlobalData.h
#ifndef GlobalData
#define GlobalData
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern const AnsiString APPLICATION_ID = "46"; //Код приложения 
extern AnsiString COMPANY_ID;          //Код компании
extern AnsiString USER_NAME;           //Сетевое имя пользователя
#endif

В заголовочном файте главной формы приложения указано
Код: plaintext
#include "GlobalData.h"

В других модулях я эти переменные не вижу, а если добавляю такую же строку в заголовочный файл, возникает варнинг множественного объявления переменных. Не понял до конца как в билдере использовать глобальные переменные.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848439
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему просто не сделать так?

#define APPLICATION_ID "46"

--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848448
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заведи себе GlobalData.cpp и там их ининциализируй
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848471
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrumпочему просто не сделать так?

#define APPLICATION_ID "46"

--------------------------------------------------------------
[не претендую на уникальность]

насколько я понял из литературы, так не рекомендуется делать.

Поменял расширение на CPP.
Код: plaintext
Если #include "GlobalData.cpp"
не указываю, все равно не вижу переменные, если указываю, то
Код: plaintext
[Linker Fatal Error] Fatal: Unable to open file 'GLOBALDATA.OBJ'
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848500
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quazarв *.h файле только определения extern ....
в *.cpp - собственно объявление и инициализация
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848533
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuazarЕсть модуль
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// GlobalData.h
#ifndef GlobalData
#define GlobalData
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern const AnsiString APPLICATION_ID = "46"; //Код приложения 
extern AnsiString COMPANY_ID;          //Код компании
extern AnsiString USER_NAME;           //Сетевое имя пользователя
#endif

В заголовочном файте главной формы приложения указано
Код: plaintext
#include "GlobalData.h"

В других модулях я эти переменные не вижу, а если добавляю такую же строку в заголовочный файл, возникает варнинг множественного объявления переменных. Не понял до конца как в билдере использовать глобальные переменные.

Полтергейст. Покажи еще хотябы варнинг.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848534
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrumпочему просто не сделать так?

#define APPLICATION_ID "46"

--------------------------------------------------------------
[не претендую на уникальность]

Макросы - зло ;)
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848536
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quazar Cerebrumпочему просто не сделать так?

#define APPLICATION_ID "46"

--------------------------------------------------------------
[не претендую на уникальность]

насколько я понял из литературы, так не рекомендуется делать.

Поменял расширение на CPP.
Код: plaintext
Если #include "GlobalData.cpp"
не указываю, все равно не вижу переменные, если указываю, то
Код: plaintext
[Linker Fatal Error] Fatal: Unable to open file 'GLOBALDATA.OBJ'


Включи файл в проект.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848628
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Quazarв *.h файле только определения extern ....
в *.cpp - собственно объявление и инициализация
Posted via ActualForum NNTP Server 1.4

Сделал, не помогает (((((((((
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848632
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuazarЕсть модуль
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// GlobalData.h
#ifndef GlobalData
#define GlobalData
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern const AnsiString APPLICATION_ID = "46"; //Код приложения 
extern AnsiString COMPANY_ID;          //Код компании
extern AnsiString USER_NAME;           //Сетевое имя пользователя
#endif

В заголовочном файте главной формы приложения указано
Код: plaintext
#include "GlobalData.h"

В других модулях я эти переменные не вижу, а если добавляю такую же строку в заголовочный файл, возникает варнинг множественного объявления переменных. Не понял до конца как в билдере использовать глобальные переменные.

Какие ошибки выдает? В них ответ.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848637
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибку на обзрение, pls
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848638
Hryuckinnen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обалдели штоль. Нельзя в h-файлах инициализировать переменные. Верни расширение h как было, инициализацию выкинь, заведи еще один файлик GlobalData.cpp и туда напиши:
Код: plaintext
1.
2.
3.
4.
#include "GlobalData.h"
const AnsiString APPLICATION_ID = "46"; //Код приложения 
AnsiString COMPANY_ID;          //Код компании
AnsiString USER_NAME;           //Сетевое имя пользователя
И в проект его включи.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848640
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все та же вышеуказанная ошибка, файлы в проект добавлены.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848657
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// GlobalData.h
#ifndef GlobalData
#define GlobalData
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern APPLICATION_ID ;  //Код приложения в таблице Applicathion
extern COMPANY_ID;          //Код компании
extern USER_NAME;           //Сетевое имя пользователя
#endif

//GlobalData.cpp
##include "GlobalData.h"
const AnsiString APPLICATION_ID = "46"; 
AnsiString COMPANY_ID;         
AnsiString USER_NAME;           
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848672
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее #include с одной решеткой конечно же
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848674
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuazarВсе та же вышеуказанная ошибка, файлы в проект добавлены.

Уже 3 человека попросило скопипастить ошибку...
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848679
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
[Linker Fatal Error] Fatal: Unable to open file 'GLOBALDATA.OBJ'
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848698
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quazar
Код: plaintext
[Linker Fatal Error] Fatal: Unable to open file 'GLOBALDATA.OBJ'


Алл Ребилд попробуй. Или что там в борланде...
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848704
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh Quazar
Код: plaintext
[Linker Fatal Error] Fatal: Unable to open file 'GLOBALDATA.OBJ'


Алл Ребилд попробуй. Или что там в борланде...

его и делаю
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848715
Hryuckinnen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
// GlobalData.h
#ifndef __GlobalData__
#define __GlobalData__
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern const AnsiString APPLICATION_ID ;  //Код приложения в таблице Applicathion
extern AnsiString COMPANY_ID;          //Код компании
extern AnsiString USER_NAME;           //Сетевое имя пользователя
#endif

Код: plaintext
1.
2.
3.
4.
5.
//GlobalData.cpp
#include "GlobalData.h"
const AnsiString APPLICATION_ID = "46"; 
AnsiString COMPANY_ID;         
AnsiString USER_NAME;

И GlobalData.cpp попробуй отдельно скомпилить.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848728
warIord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
namespaces вроде еще никто не отменял
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848733
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
AkhАлл Ребилд попробуй. Или что там в борланде...
Не знаю как в борланде, но в свойствах проекта может быть указано, что этот файл не надо компилировать (по крайней мере, в MS VS 2005 / 2008) - вот и не компилится.
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848742
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quazar
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// GlobalData.h
#ifndef GlobalData
#define GlobalData
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern APPLICATION_ID ;  //Код приложения в таблице Applicathion <-- warning int assumed
extern COMPANY_ID;          //Код компании <-- warning int assumed
extern USER_NAME;           //Сетевое имя пользователя<-- warning int assumed
#endif

//GlobalData.cpp
##include "GlobalData.h"
const AnsiString APPLICATION_ID = "46"; //<-- error name was previously defined as int
AnsiString COMPANY_ID;         // <--error name was previously defined as int,not initialized
AnsiString USER_NAME;           // <--error name was previously defined as int,not initialized

Выключи комп и пойди читать книжку тут багов как гарбузе семян
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848778
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hryuckinnen
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
// GlobalData.h
#ifndef __GlobalData__
#define __GlobalData__
//--------------------- ГЛОБАЛЬНЫЕ ДАННЫЕ ПРИЛОЖЕНИЯ ---------------------
extern const AnsiString APPLICATION_ID ;  //Код приложения в таблице Applicathion
extern AnsiString COMPANY_ID;          //Код компании
extern AnsiString USER_NAME;           //Сетевое имя пользователя
#endif

Код: plaintext
1.
2.
3.
4.
5.
//GlobalData.cpp
#include "GlobalData.h"
const AnsiString APPLICATION_ID = "46"; 
AnsiString COMPANY_ID;         
AnsiString USER_NAME;

И GlobalData.cpp попробуй отдельно скомпилить.
Сделал... все болит, ниче не помогает
...
Рейтинг: 0 / 0
Снова о глобальных переменных
    #34848785
Quazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть подкаталог программы \Debug_Build, в котором лежат OBJ-файлы форм, а GlobalData.obj нет.
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Снова о глобальных переменных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]