Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Копия TForm

302
24 декабря 2004 года
Sagittarius
648 / / 12.04.2003
У меня есть окно класса TForm1, например. Оно уже создано и работает себе.
При нажатии на кнопочку, например, "Новый документ", надо создать новое окно, которое будет содержать все те же компоненты.
Если форма изначально спроектирована в IDE, то проблем никаких, конечно же, не возникает.
Но, дело в том, что "начинка" окна (компоненты) создаются динамически во время работы приложения, а функция клонирования окна избавила бы меня от дополнительных чтений данных.
259
24 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Sagittarius
У меня есть окно класса TForm1, например. Оно уже создано и работает себе.
При нажатии на кнопочку, например, "Новый документ", надо создать новое окно, которое будет содержать все те же компоненты.
Если форма изначально спроектирована в IDE, то проблем никаких, конечно же, не возникает.
Но, дело в том, что "начинка" окна (компоненты) создаются динамически во время работы приложения, а функция клонирования окна избавила бы меня от дополнительных чтений данных.


Попробуй метод:
Copies the contents of another, similar object.

Delphi syntax:

procedure Assign(Source: TPersistent); virtual;

C++ syntax:

virtual void __fastcall Assign(TPersistent* Source);

Description

Call Assign to copy the properties or other attributes of one object from another. The standard form of a call to Assign is

Destination.Assign(Source); {Delphi}
Destination->Assign(Source); // C++

which tells the Destination object to copy the contents of the Source object to itself.

Most objects override Assign to handle the assignment of properties from similar objects. When overriding Assign, call the inherited method if the destination object can’t handle the assignment of properties from the class of the Source parameter.

If no overridden Assign method can handle the assignment of properties from Source, the method implemented in TPersistent calls the source object’s AssignTo method. This allows the source object to handle the assignment. If the Source object is nil (Delphi) or NULL (C++), Assign raises an EConvertError exception.

In general, the statement

Destination := Source; {Delphi}
Destination = Source; // C++

is not the same as the statement

Destination.Assign(Source); {Delphi}
Destination->Assign(Source); // C++

The assignment operator makes Destination reference the same object as Source, whereas the Assign method copies the contents of the object referenced by Source into the object referenced by Destination.

Note: The types of some properties are also objects. If these properties have write methods that use Assign to set the value of the property, then in these cases the assignment operator does the same thing as the Assign method.

302
24 декабря 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by AlexandrVSmirno procedure Assign(Source: TPersistent);


Пробовал. Не помогает. Вылетает ошибка.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог