Страница 1 из 1

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

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

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

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

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

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

Народ спасите, ответ нужен ASAP. Буду очень благодарен.

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