![]() |
|
![]() ![]() ![]() |
|
Alexandering |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
Вобщем столкнулся со следующей проблемой.
1)Как можно избавится от большого количества глобальных переменных в проекте?? Я просто не знаю технологии, поэтому они у мну разрастаются по экспоненте. Связано с тем, что, скажем, одна функция(В обработчике события - нажатие кнопки) реализует какие-нить ЧМ для получения собственных векторов матрицы. На выходе этой функции я имею причесанную матрицу, которую обьявляю глобально, как и полученные собственные вектора, чтоб в других местах к ним обращаться. И по нажатию другой кнопки я , допустим, беру из этих глобально-обЪявленных обьектах нужную для себя инфу, и, скажем, строю графики сходимости, апроксимации, ну и прочего....Дак вот, как это можно по другому реализовывать??? Мне говорят, мол пользуйся Указателями,..Но мне че-т не понятно, Получается глобальным теперь будет тока указатель?, а сам обьект можно и локально, внутри функции, обЪявить?? Ну и самый главный вопрос. 2) Необходимо как-то в функцию передовать указатель на другую функцию. Как это описать в прототипе функции, ну и как потом все это реализовать. Это нужно, для вычисления большого количества интегралов(Результат записывается в массив для дальнейшего испольщования). Т.е. в функцию Интеграл, мне надо передавать как-то другую функцию. 3) Очень нужно настроить компилятор, чтоб по нажатию F7 он проходился по всем строчкам кода, как это реализовано в Дельфи, чтоб я мог видеть, на каком этапе у меня происходит ошибка. А то сейчас в BCB 6 открывается окно с ассемблерным кодом проги, в котором абсолютно невозможно понять, что вообще происходит, и чему равна та, или иная переменна. Если вообще компилятор в BCB 6 на это настраивается. |
|||
|
||||
Alexandering |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
Обновляю....
Прошу....Подскажите... -------------------------------- С С++ познакомился по книге Дейтлов....Там этих тонкостей нет. Литературу бы почитал, но сегодня стока ваты пишут, что прям и времени не охота стока тратить на поиск книг, а потом последние еще и окажутся банально "водой". |
|||
|
||||
HappyLife |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
1. Самое главное научись писать программу блоками. Независимыми блоками. Умение так делать, облегчит тебе жизнь на долгие годы, и ты уже не будешь париться из-за глобальных переменных. Они будут, но смущать тебя не станут. + незабывай что нельзя никогда прыгать выше головы. Всегда делай как знаешь и как можешь. Не можешь пока обойтись без глобальных переменных? Не мудри, используй их. Когда потехоньку научишься профессионализму, все будет иначе. Конечно, нужно ежедневно пробовать писать иначе, но это является конечно обязательным для тебя, но не для программы.
2. Вот здесь по поводу указателей. http://www.rsdn.ru/article/cpp/fastdelegate.xml 3. Может быть у тебя стоит Realese компиляция? У меня при Debug полный порядок. Бильдер на месте кода показывает где лежат грабли. |
|||
|
||||
Alexandering |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
Ну и..?? Если так, то как мделать, чтоб было все как в Дельфи? Я имею ввиду отладку через F7. -------------------------------- И еще один вопросик, пож-та ответьте... Вчера делал проект...Кое-что сделал...Т.е. все компилится, на фыходе имею рабочее приложение *.exe . Так вот...Сейчас хочу продолжить написание этой проги(Не все еще сделано) и на всякий случай этот проект копирую в новую папку(Копирую абсолютно все файлы, которые вчера создал Builder). Ну и в э той новой папке я открываю Project. Builder его норм. открывает. Если ничего не трогать, то все откомпилится и создастся приложение. НО, я ведь хочу дописывать свой проект, поэтому добавляю хотябы 1 строчку(Просто новую переменную) и тут уже ни че не компилится. При этом, после добавления новой строчки кода я Либо сразу компилирую/Либо сначала все сохраняю и потом компилирую - Ошибка один фиг. Вот код ошибки (C++ Error) E2075 Incorrect project override option: Папка\Папка\Unit1.obj (C++ Error) E2075 Incorrect project override option: Папка\Папка\Unit1.obj Где Папка\Папка - это я уже написал, там реальные имена. В справке Builder`a про эту ошибку ничего толком не сказано, Т.е. как ее избежать??? И как вы поступаете, когда хотите продолжить разработку приложения, написанного ранее. ??? |
|||
|
||||
leg501 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 31.1.2008 Репутация: 1 Всего: 1 |
1) Значит попробуй зайти в настройки проекта и вкладка компилятор нажми на фул дебаг.
2) От глобальных переменных надо избавлятся и пользоватся в редких случаях ,но опять же как сказал HappyLife потихоньку , попробуй использовать структуры а лучше свои собственные классы и работать через обьект оного который содержалбы все твои даные . 3) для продолжения проекта достаточно посто его перенести и запустить у тебя проблемы могут быть в настройках попробуй не просто билдить ,а так сказать перекомпилить с нуля во вкладке Project->Buildall может помоч от ошибок линковки (такойже но более грубый способ руками потереть файлы батничег прилогается ) Это сообщение отредактировал(а) leg501 - 17.9.2008, 11:41 Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |