C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Баг клюк StringGrida или я что то не уследил?, StringGrid не хочет сохранять введенный
** Михаил
Отправлено: 14.01.2005, 06:53


Не зарегистрирован







Вообщем проблема в следующем!
Есть програмка на которой несколько форм
при загрузке она читает кое какую инфу из файла и выкладывает в StringGrid на одну из форм (не главная форма)
Чтение из файла повешено на (OnActivate главной формы)
так вот как только я пытаюсь изменить данные в stringgride на какие либо другие и закрываю эту форму не закрывая приложения, после чего открываю эту форму и вижу что данные не изменились а непонятно откуда воостановились те которые были введены при загрузке программы в чем моя ишибка? или что я делаю не так?
Заранее спасибо!
если повесить чтение данных на произвольную кнопу к примеру когда программа уже запущена ну и соответсвенно после загрузки нажать на нее то все нормально !
xTrim
Отправлено: 14.01.2005, 07:15


Машинист паровоза

Группа: Участник
Сообщений: 208



Может быть потому, что событие OnActivate происходит когда форма становиться активной, например при закрытии дочерней формы..
Точнее было бы повесить это на OnCreate или в конструктор.
Bond
Отправлено: 14.01.2005, 13:17


Станционный диспетчер

Группа: Участник
Сообщений: 142



В конструкторе главной формы можно читать данные из файла и хранить буфере, а в конструкторе дочерней заполнять.
Gedeon
Отправлено: 14.01.2005, 14:43


Ветеран

Группа: Модератор
Сообщений: 1742



Тут как угодно можно делать, если как хочет автор топика, то нужно при закрытии подчиненной формы сохранять измененные данные в файл, все от логики зависит и частоты изменения данных, необходимости их перечитывать.

Дабы автору было понятно что вообще происходит и обьяснений xTrim недостаточно опишу: Вы зачитали файл, отобразили потом поменяли, закрыли форму, главная активировалась и перечитала все из файла заново, т.е. как я написал можно при закрытии сохранять изменения в файл.
full_lamer
Отправлено: 14.01.2005, 14:58


Машинист паровоза

Группа: Участник
Сообщений: 225



я осмелюсь высказать свое мнение: а если форму не закрывать о просто прятать от глаз...а вообще я бы посоветовал использовать PageControl или TabControl — если я ошибаюсь в названиях — простите я только что после экзамена...
Медведь
Отправлено: 14.01.2005, 23:05


Не зарегистрирован







Вообщем всем спасибо я так сделал!
Засунул чтение первоночяальное в ОнShow и проверочку сделал
чтобы только 1 раз было! и из OnShow на главной форме уже данные заполняю все нормально работает в таком случае.

Вернуться в Вопросы программирования в C++Builder