![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перезапуск формы [D7, XP]
senatormisha © (2010-03-29 11:55:00)У меня есть две формы. На главной есть кнопка для перехода на вторую форму! Со второй формой работаю, потом закрываю(при этом открывается главная форма). Как сделать, чтоб при повторном открытии второй формы на ней все было как при первом запуске(без изменений)?
Германн (2010-03-30 01:31:00) [1]
> senatormisha © (29.03.10 23:36) [34]
>
> Все! Сделал!
> не нужно было писать это:
>
> > //Уничтожение формы Form4.Close; Form4.Free;
>
> и все ОК!
Метод тыка сработал. Поздравляю!
senatormisha (2010-03-29 23:36:00) [2]Все! Сделал!
не нужно было писать это:
> //Уничтожение формы Form4.Close; Form4.Free;
и все ОК!
Всем спасибо!!!!!!1
Игорь Шевченко (2010-03-29 23:04:00) [3]senatormisha © (29.03.10 22:39) [32]
Предлагаешь нам поработать коллективным отладчиком ? Это платная услуга.
senatormisha (2010-03-29 22:39:00) [4]Значит я придумал? ))
Ошибка - она и в Африке ошибка! ))
"Project Projectl.exe raised exception dass EAccessViolation with message 'Access violation at address 004034EC in module 'Projectl.exe'. Read of address 00Е48000'. Process stopped. Use Step or Run to continue."
Игорь Шевченко (2010-03-29 22:33:00) [5]
> Форма создается только 2 раза - потом ошибка! ((
Больно слышать
senatormisha (2010-03-29 22:28:00) [6]
> Чем новое создание формы не угодило?
Форма создается только 2 раза - потом ошибка! ((
Плохиш (2010-03-29 22:16:00) [7]
> При создании формы в цикле иди по всем компонентам на форме
> и сохраняй их состояние. Например - в некий массив.
>
> В тот момент, когда нужно восстановить состояние проделывай
> обратную операцию.
>
Чем новое создание формы не угодило?
Демо (2010-03-29 22:04:00) [8]
> senatormisha © (29.03.10 19:33) [25]
> > - Какие из них при показе формы во второй раз нужно оставить,
> > какие обновить?Все!!!!!!! нужно вернуть в исходное состояние!
> На второй форме все меняется! ))
Ну всё так всё.
При создании формы в цикле иди по всем компонентам на форме и сохраняй их состояние. Например - в некий массив.
В тот момент, когда нужно восстановить состояние проделывай обратную операцию.
senatormisha (2010-03-29 21:51:00) [9]Спасибо, И. Павел! ))
Действительно помог!
Все пошло, но только после 2-го закрытия опять ошибка! (((((
"Project Projectl.exe raised exception dass EAbstractError with message 'Abstract Error'. Process stopped. Use Step or Run to continue."
И. Павел (2010-03-29 19:56:00) [10]
> senatormisha ©
Нужно посмотреть, какие функции заполняют данные, и вызвать их, а остальные элементы заполнить, используя свойства Text/Caption/Lines/...?
Наверное, должно быть примерно как то так:
//Создание формы
Form4:=TForm4.Create(Application);
Form4.Show;
//Переходим к первой записи таблицы/запроса
ADOTable1.First;
ADOQuery1.First;
//Ну так как в таблице уже может быть активна 1-ая запись, то наверное не помешало бы еще и AfterScroll вызвать (или другой метод, в которым происходит наполнение элементов управления на Form4 при переходе к очередной строке таблицы)
//Уничтожение формы
Form4.Close;
Form4.Free;
senatormisha (2010-03-29 19:33:00) [11]
> - Какие из них при показе формы во второй раз нужно оставить,
> какие обновить?
Все!!!!!!! нужно вернуть в исходное состояние!
На второй форме все меняется! ))
Демо (2010-03-29 14:38:00) [12]
> senatormisha ©
Напиши:
- Что отображается на форме у тебя (какие типы компонент)?
- Какие из них при показе формы во второй раз нужно оставить, какие обновить?
Плохиш (2010-03-29 14:34:00) [13]
Увлечения / хобби
Техника и все что с ней связано, компьютеры, програмирование.
посмеялся
Интересное о себе
Не люблю читать книги.
оно и видно.
Вывод: сантехнику - сантехниково.
senatormisha (2010-03-29 14:29:00) [14]
> мало форм.
В самый раз! ))
Медвежонок Пятачок (2010-03-29 13:29:00) [15]мало форм.
senatormisha (2010-03-29 13:09:00) [16]
> Table на какой форме?
ClientDataSet1 на form3.
Главная на form1.
Вывожу данные на form4.
Вручную востанавливать form4 - большой код получится.
oldman (2010-03-29 13:05:00) [17]"А образование, как всегда, высшее..." © непомнюктоивкакойветке
senatormisha (2010-03-29 13:01:00) [18]
> Никакие.Потому что само form4.Create писать не надо
а что писать в procedure TForm1.Button3Click(Sender: TObject)? (по этой кнопке открывается вторая форма)
oldman (2010-03-29 12:59:00) [19]
> Вот косяк....
Это не косяк. Ты же стоишь на "следующей" записи.
Table на какой форме?
senatormisha (2010-03-29 12:53:00) [20]
> автор, ты форму destroy или hide?
Да я уже все перепробовал! (( Все равно не то.
Вот когда закрываю прогу и потом открываю - форма красивая(показывается 1-я запись), потом я нажимаю "Следующая запись" - все меняется........
Эту форму закрываю(появляется главная форма)....
потом опять открываю вторую форму, а там то уже не первая запись((((((((((
Вот косяк....