![]() |
|
|
![]()
|
|
| flintstone |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
Как сохранять настройки в Ini файл и читать их я знаю. Проблема в другом:
На Form2 навешаны CheckBox'ы. При нажатии на кнопку Ok, если включены определённые CheckBox'ы, идёт выполнение функции и запись настроек в Ini. Затем я выхожу из программы, и запускаю её заново. Загружается Form1. В функции FormCreate есть Form2->CheckBox1->Checked = IniSettings->ReadBool("Settings","Autorun", false); Form2->ButtonApplyClick(Sender); Вроде бы CheckBox1 на форме Form2 должен быть с галочкой или без (как показано в настройках), а нет, выскакивает ошибка при загрузке программы с выделением строки Form2->CheckBox1->Checked = IniSettings->ReadBool("Settings","Autorun", false); |
|||
|
||||
| Ivan. |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: нет Всего: 2 |
Ну во-первых в событии FormCreate Form1 Form2 скорее всего еще не созданна
Во-вторых есть компанентка (точнее целый пакет компанент) storage library, каторая автоматически все это делает сама. кликается по компаненте, открывается список со всемы компанентами, лежащими рядом, и ихними пропертями. ставих галочку на нужном проперти и он автоматически загружается и выгружается. не требуется ни одной строчки кода. Storage Library Это сообщение отредактировал(а) Ivan. - 2.12.2007, 20:24 -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
|||
|
||||
| flintstone |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
Компонент Storage Library, как я понял, подходит только к Delphi, и притом он платный.
Но есть ли всё-таки решить проблему с помощью создания главной формы? |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Может попробовать сохранить значения во временные переменные(которые потом удалить), а потом в OnCreate для Form2 присвоить значения из переменных?
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Почему это всё не запихнуть в OnCreate второй формы? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
ksili возможно некоторые настройки нужно применить к Form1.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Что значит "применить к Form1"?
Form1->.... можно написать и из второй формы -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ну т.е. до того как будет создана Form2, к Form1 нужно применить какие-либо настройки (может графические или ещё какие, например доступность кнопки, размер или положение формы).
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Она что там полчаса создается? Создалась - а потом уже и применить можно. Или вообще изменить порядок создания форм, сначала Form2, а потом Form1
Файл проекта project1.cpp:
Ну или в настройках проекта изменить последовательность Это сообщение отредактировал(а) ksili - 3.12.2007, 10:22 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
А почему, код отоносящийся к настройке Form2, не выполнять там где этому коду самое место? А именно: тело конструктора TForm2.
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| flintstone |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
artsb был прав. Настройки сначало надо применить к Form1. Например цвет фона, поверх всех окон и др., следуя из Form2. Если вначале попытаться создавать Form2, а затем Form1, то полетят настройки относящиеся к Form1 (т.к. она должна создаваться первой).
|
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
те настройки, которые относятся к первой форме делай в ее конструкторе, а те которые к 2-й в ее конструкторе. |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
ksili правильно пишет.
Можно же сначала создать Form2 и в OnCreate считать настройки из файла, ну и по отмечать галочки напрмер или ещё что, но форму не отображать. Потом при создании Form1 считать настройки из Form2 и отобразить Form1. Я правильно тебя понял ksili? -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| flintstone |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
Скажите, если я вставлю
То сначала у меня будет создаваться Form2, как не создавая дополнительных меню, мне автоматически создавать Form1, а Form2 закрывать. |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
поменяв порядок создания форм ты сделаешь Form2 главной формой приложения. Не надо ничего менять в созданиях форм. Просто не надо пихать инициализацию настроек формы 2 в создание формы 1. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |