Трабл с формами

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
SydeX
Сообщения: 1
Зарегистрирован: 01 дек 2004, 20:22
Откуда: Таллинн, Эстония
Контактная информация:

Привет,
Совсем недавно пересел на Borland C++ Builder 6 с написания простеньких консольных приложений аля хело ворлд
Замучился перерыл все факи, ничего по интересуюшему вопросу, народ может вы поможете.

Я понимаю вопрос дибильный но всётки авось кому не лень ответить.

Проблема а)
Есть задача - в модуле одной формы инклудим файл с объявлением неких классов - скажем классов с набором функций и данных для чтения и выуживания параметров из конфига.
В этом модуле формы мы всё имеем как надо хорошо.
Инклудим в этот файл - сырец другой формы - чтобы мы могли её вызвать - вызываем форму и при её работе нужны эти классы - ясно что классы во второй форме не видно, а надо.
Как только мы попытаемся инклуднуть файл с дефинишнами классов в модуль второй формы - наступит конец - компилер ругается что двойное объявление классов, функций и т.п.
Как исправить грабли ?
Возможно ли сделать инклуденный файл в одном срр модуле сырца видимым в другом тоже заинклуденном в этот самый главный модуль - срр модуле ?

И вопрос два - ещё тупее -

Есть одна форма - вызываю из неё другую форму ну скажем методом ShowModal при нажатии кнопки логин - нужно чтобы вылезла другая форма - с запросом логина и пароля и вернула введённые данные - как вернуть эти данные из вызванной формы ? Как сделать переменную объявленную в одном модуле видимой во всех модулях программы ?

Народ спасите, ответ нужен ASAP. Буду очень благодарен.
Если получу хоть три –
Это будет номер,
Если б я учил матан,
Я б наверно помер.
Tima
Сообщения: 43
Зарегистрирован: 23 сен 2004, 11:17
Откуда: Харьков
Контактная информация:

Цытаты случайно я послал. Вообще то я не в BCB сижу а в MS VStudio,
но сути не меняет.
1.Насколько я понял ты исходник включаешь в другой исходник. Запомни - "инклудить" нужно только заголовочные файлы. Для того чтобы не было множественного включения одного и того же файла пользуйся директивами #ifdef, #define, #endif.
2.Насчет переменной - обьявляй ее глобальной в каком либо заголовочном файле, и включи его во все исходники, где она будет использоваться.
Ответить