Антон |
Отправлено: 28.12.2005, 18:58 |
|
Не зарегистрирован
|
Подскажите как сделать общую переменную для нескольких форм!
При нажатии кнопки числа из Edit'ов разных форм должны складываться в общее число и выводится. |
|
Aptem |
Отправлено: 28.12.2005, 19:50 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Есть много вариантов. Один из них, это обьявить переменную в одной из форм, и подключить заголовок этой формы в других формах.
|
|
Георгий |
Отправлено: 28.12.2005, 22:08 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
а ещё один вариант — использовать поиск |
|
kea |
Отправлено: 30.12.2005, 15:40 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте! Помогите пожалуйста разобраться с простым вопросом.
В одном юните (подключается к другим юнитам) глобально объявлена строка AnsiString содержащая общее сообщение. Выдается Linker Warning, что эта переменная объявлена в обоих модулях. Как этого избежать? |
|
gvg |
Отправлено: 30.12.2005, 16:07 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Не обьявлять в обеих модулях.
1. Надо определиться, где ее объявить.
2. Объявить где решили.
Например, если в Form1, тогда в соответствующем тот_самый.h описать ее как
extern ТИП_ПЕРЕМЕННОЙ ИМЯ_ПЕРЕМЕННОЙ
В том_самом.cpp должна быть строка
ТИП_ПЕРЕМЕННОЙ ИМЯ_ПЕРЕМЕННОЙ;
3. В тех модулях (*.cpp), где она используется, должна присутствовать строка
#include "тот_самый.h"
А, вообще, вопрос на уровне детсада... |
|
kea |
Отправлено: 31.12.2005, 00:20 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
QUOTE (gvg @ 30/12/2005, 16:07) | А, вообще, вопрос на уровне детсада... |
Спасибо за обстоятельный ответ. |
|
kea |
Отправлено: 04.01.2006, 19:45 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте! А если объявление следующего вида:
MyClass Msg("This is my class"); на глобальном уровне и хочу, чтобы он был доступен в других юнитах, то как быть?
|
|
gvg |
Отправлено: 06.01.2006, 12:38 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
QUOTE (kea @ 04/01/2006, 19:45) | Здравствуйте! А если объявление следующего вида:
MyClass Msg("This is my class"); на глобальном уровне и хочу, чтобы он был доступен в других юнитах, то как быть? |
Msg — это что, метод вашего класса MyClass? Или функция Msg, возвращающая класс MyClass? Само это объявление непонятно... |
|
kea |
Отправлено: 07.01.2006, 15:38 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
QUOTE (gvg @ 06/01/2006, 12:38) | QUOTE (kea @ 04/01/2006, 19:45) | Здравствуйте! А если объявление следующего вида:
MyClass Msg("This is my class"); на глобальном уровне и хочу, чтобы он был доступен в других юнитах, то как быть? |
Msg — это что, метод вашего класса MyClass? Или функция Msg, возвращающая класс MyClass? Само это объявление непонятно... |
Здравствуйте! Msg это объект(экземпляр) класса MyClass. |
|
gvg |
Отправлено: 07.01.2006, 23:08 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Ерунда какая... Зачем держать объект с каким-то "This is my class" постоянно? А может он не потребуется? Впрочем, как вам будет угодно. Вставьте строку
extern MyClass Msg;
в *.h соответствующего *.cpp, включенного в ваш проект. Затем
MyClass Msg("This is my class");
в этом *.cpp.
И вставьте
#include этот.h
в *.cpp, где он (Msg) будет использоваться.
Бог мой, что я советую... Все тот-же детский сад... |
|
kea |
Отправлено: 08.01.2006, 13:38 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 80
|
Здравствуйте! И все же спасибо за совет. Бывает, тормозишься на мелочах, бывают праздники (вы же сами писали :-)) ) |
|