![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фсе что на форме и форму в исходное состояние
fil-23 © (2012-01-31 21:44:00)Создается форма, в ней чтото меняется , нажимается и т.д. как сделать сброс в начальное состояние... ну как будто она только только создалась, но не закрывая ее . форма главная
Юрий Зотов (2012-02-01 13:53:00) [1]
> Германн © (01.02.12 02:06) [8]
Стандартный прием, когда нужно изменить read-only свойство с прямым доступом к полю. Конечно, немного хакерский, но безопасный, если четко понимать, что и зачем ты делаешь.
Сергей М. (2012-02-01 09:35:00) [2]
> Юрий Зотов © (31.01.12 23:28) [7]
> но не закрывая ее
Но Release таки "закроет" форму, хоть и не сразу)
Германн (2012-02-01 02:06:00) [3]
> Юрий Зотов © (31.01.12 23:28) [7]
Почти "Compiler Magic"! :)
Вот только задача автора так и не понятна.
Юрий Зотов (2012-01-31 23:28:00) [4]Все даже проще:
procedure TForm1.Button1Click(Sender: TObject);
var
P: ^TForm;
F: TForm;
begin
P := @Application.Mainform;
Application.CreateForm(TComponentClass(ClassType), F);
P^ := F;
Release;
F.Show
end;
FIL-23 (2012-01-31 22:42:00) [5]т.е. я так понимаю надо форму "закрыть" дабы имена компонент не повторялись
FIL-23 (2012-01-31 22:41:00) [6]ну не совсем секретную , но мозг уже взрывает.. содержание ее таково: a component named Button1 already exists
Юрий Зотов (2012-01-31 22:36:00) [7]
> FIL-23 (31.01.12 22:34) [3]
> выдает ошибку
Секретную?
FIL-23 (2012-01-31 22:34:00) [8]Юрий Зотов я так далек от этого. Попробовал , вставил код, выдает ошибку
Юрий Зотов (2012-01-31 22:04:00) [9]И вызвать конструктор, но через ссылку на объект, а не на класс:
Application.MainForm.Create(Application)
Юрий Зотов (2012-01-31 22:02:00) [10]F1: ReadComponentRes(Application.MainForm.ClassName, Application.MainForm)