Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизФсе что на форме и форму в исходное состояние Найти похожие ветки
← →
fil-23 (2012-01-31 21:44) [0]Создается форма, в ней чтото меняется , нажимается и т.д. как сделать сброс в начальное состояние... ну как будто она только только создалась, но не закрывая ее . форма главная
← →
Юрий Зотов © (2012-01-31 22:02) [1]F1: ReadComponentRes(Application.MainForm.ClassName, Application.MainForm)
← →
Юрий Зотов © (2012-01-31 22:04) [2]И вызвать конструктор, но через ссылку на объект, а не на класс:
Application.MainForm.Create(Application)
← →
FIL-23 (2012-01-31 22:34) [3]Юрий Зотов я так далек от этого. Попробовал , вставил код, выдает ошибку
← →
Юрий Зотов © (2012-01-31 22:36) [4]
> FIL-23 (31.01.12 22:34) [3]
> выдает ошибку
Секретную?
← →
FIL-23 (2012-01-31 22:41) [5]ну не совсем секретную , но мозг уже взрывает.. содержание ее таково: a component named Button1 already exists
← →
FIL-23 (2012-01-31 22:42) [6]т.е. я так понимаю надо форму "закрыть" дабы имена компонент не повторялись
← →
Юрий Зотов © (2012-01-31 23:28) [7]Все даже проще:
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;
← →
Германн © (2012-02-01 02:06) [8]
> Юрий Зотов © (31.01.12 23:28) [7]
Почти "Compiler Magic"! :)
Вот только задача автора так и не понятна.
← →
Сергей М. © (2012-02-01 09:35) [9]
> Юрий Зотов © (31.01.12 23:28) [7]
> но не закрывая ее
Но Release таки "закроет" форму, хоть и не сразу)
← →
Юрий Зотов © (2012-02-01 13:53) [10]
> Германн © (01.02.12 02:06) [8]
Стандартный прием, когда нужно изменить read-only свойство с прямым доступом к полю. Конечно, немного хакерский, но безопасный, если четко понимать, что и зачем ты делаешь.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.066 c